forked from Mirrors/freeswitch
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.
This commit is contained in:
parent
502cd3f659
commit
74262ee964
@ -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 ---- */
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user