summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/logger.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/main/logger.c b/main/logger.c
index 72499dd0e..0ee3ae0e2 100644
--- a/main/logger.c
+++ b/main/logger.c
@@ -1016,6 +1016,13 @@ static void ast_log_vsyslog(struct logmsg *msg)
{
char buf[BUFSIZ];
int syslog_level = ast_syslog_priority_from_loglevel(msg->level);
+ char call_identifier_str[13];
+
+ if (msg->callid) {
+ snprintf(call_identifier_str, sizeof(call_identifier_str), "[C-%08x]", msg->callid->call_identifier);
+ } else {
+ call_identifier_str[0] = '\0';
+ }
if (syslog_level < 0) {
/* we are locked here, so cannot ast_log() */
@@ -1023,8 +1030,8 @@ static void ast_log_vsyslog(struct logmsg *msg)
return;
}
- snprintf(buf, sizeof(buf), "%s[%d]: %s:%d in %s: %s",
- levels[msg->level], msg->lwp, msg->file, msg->line, msg->function, msg->message);
+ snprintf(buf, sizeof(buf), "%s[%d]%s: %s:%d in %s: %s",
+ levels[msg->level], msg->lwp, call_identifier_str, msg->file, msg->line, msg->function, msg->message);
term_strip(buf, buf, strlen(buf) + 1);
syslog(syslog_level, "%s", buf);