mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merge "core/logging: Fix logging to more than one syslog channel"
This commit is contained in:
@@ -315,7 +315,6 @@ static struct logchannel *make_logchannel(const char *channel, const char *compo
|
||||
|
||||
chan->type = LOGTYPE_SYSLOG;
|
||||
ast_copy_string(chan->filename, channel, sizeof(chan->filename));
|
||||
openlog("asterisk", LOG_PID, chan->facility);
|
||||
} else {
|
||||
const char *log_dir_prefix = "";
|
||||
const char *log_dir_separator = "";
|
||||
@@ -1299,7 +1298,7 @@ static struct sigaction handle_SIGXFSZ = {
|
||||
.sa_flags = SA_RESTART,
|
||||
};
|
||||
|
||||
static void ast_log_vsyslog(struct logmsg *msg)
|
||||
static void ast_log_vsyslog(struct logmsg *msg, int facility)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
int syslog_level = ast_syslog_priority_from_loglevel(msg->level);
|
||||
@@ -1317,6 +1316,8 @@ static void ast_log_vsyslog(struct logmsg *msg)
|
||||
return;
|
||||
}
|
||||
|
||||
syslog_level = LOG_MAKEPRI(facility, syslog_level);
|
||||
|
||||
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);
|
||||
|
||||
@@ -1402,7 +1403,7 @@ static void logger_print_normal(struct logmsg *logmsg)
|
||||
|
||||
/* Check syslog channels */
|
||||
if (chan->type == LOGTYPE_SYSLOG && (chan->logmask & (1 << logmsg->level))) {
|
||||
ast_log_vsyslog(logmsg);
|
||||
ast_log_vsyslog(logmsg, chan->facility);
|
||||
/* Console channels */
|
||||
} else if (chan->type == LOGTYPE_CONSOLE && (chan->logmask & (1 << logmsg->level))) {
|
||||
char linestr[128];
|
||||
|
Reference in New Issue
Block a user