Skip to content
Snippets Groups Projects
Commit a8499746 authored by Matthew Jordan's avatar Matthew Jordan
Browse files

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)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@430506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 6d5f0a0d
No related branches found
No related tags found
No related merge requests found
......@@ -28,6 +28,8 @@
extern "C" {
#endif
#define ASTNUMLOGLEVELS 32
/*!
* \since 1.8
* \brief Maps a syslog facility name from a string to a syslog facility
......
......@@ -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];
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment