提交 74262ee9 authored 作者: Travis Cross's avatar Travis Cross

Add `session::consoleLog2()`

This allows emitting log messages that include the file name and line
number of the call.  Because we have the session object here, the log
messages can be correctly associated with the session from which they
were emitted.

As when the kernel developers need to 'fix' a system call, we'll just
add a number to the name of the existing function.
上级 502cd3f6
......@@ -392,6 +392,7 @@ SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *bod
virtual switch_status_t run_dtmf_callback(void *input, switch_input_type_t itype) = 0;
SWITCH_DECLARE(void) consoleLog(char *level_str, char *msg);
SWITCH_DECLARE(void) consoleLog2(char *level_str, char *file, char *func, int line, char *msg);
};
......
......@@ -1237,6 +1237,19 @@ SWITCH_DECLARE(void) CoreSession::consoleLog(char *level_str, char *msg)
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), level, "%s", switch_str_nil(msg));
}
SWITCH_DECLARE(void) CoreSession::consoleLog2(char *level_str, char *file, char *func, int line, char *msg)
{
switch_log_level_t level = SWITCH_LOG_DEBUG;
if (level_str) {
level = switch_log_str2level(level_str);
if (level == SWITCH_LOG_INVALID) {
level = SWITCH_LOG_DEBUG;
}
}
switch_log_printf(SWITCH_CHANNEL_ID_SESSION, file, func, line, (const char*)session,
level, "%s", switch_str_nil(msg));
}
/* ---- methods not bound to CoreSession instance ---- */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论