summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2015-01-12 18:01:24 +0000
committerMatthew Jordan <mjordan@digium.com>2015-01-12 18:01:24 +0000
commit4e2be8fb8f0df9d622184a49e973ca9173436367 (patch)
tree52b8969108c8b26c422f0e498dbe78d90266ce85 /main
parentdc993db55c7bb91c5470c0fb54009c95faae357b (diff)
main/syslog: Allow dynamic logs, such as security events, to log to the syslog
The security event log uses a dynamic log level (SECURITY) that is registered with the Asterisk logging core. Unfortunately, the syslog would ignore log statements that had a dynamic log level associated with them. Because the syslog cannot handle ad hoc dynamic log levels, this patch treats any dynamic log entries sent to the syslog as logs with a level of NOTICE. ASTERISK-20744 #close Reported by: Michael Keuter Tested by: Michael L. Young, Jacek Konieczny patches: asterisk-20744-syslog-dynamic-logging_trunk.diff uploaded by Michael L. Young (license 5026) ........ Merged revisions 430506 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/syslog.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/main/syslog.c b/main/syslog.c
index 9171be40b..51da69a8c 100644
--- a/main/syslog.c
+++ b/main/syslog.c
@@ -163,8 +163,16 @@ static const int logger_level_to_syslog_map[] = {
int ast_syslog_priority_from_loglevel(int level)
{
+ /* First 16 levels are reserved for system use.
+ * Default to using LOG_NOTICE for dynamic logging.
+ */
+ if (level >= 16 && level < ASTNUMLOGLEVELS) {
+ return LOG_NOTICE;
+ }
+
if (level < 0 || level >= ARRAY_LEN(logger_level_to_syslog_map)) {
return -1;
}
+
return logger_level_to_syslog_map[level];
}