diff --git a/src/include/switch_cpp.h b/src/include/switch_cpp.h index 9ccb04d39e..382c4b4fa1 100644 --- a/src/include/switch_cpp.h +++ b/src/include/switch_cpp.h @@ -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); }; diff --git a/src/switch_cpp.cpp b/src/switch_cpp.cpp index 38481fd635..e00f4d6280 100644 --- a/src/switch_cpp.cpp +++ b/src/switch_cpp.cpp @@ -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 ---- */