mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
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
This commit is contained in:
@@ -28,6 +28,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ASTNUMLOGLEVELS 32
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \since 1.8
|
* \since 1.8
|
||||||
* \brief Maps a syslog facility name from a string to a syslog facility
|
* \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)
|
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)) {
|
if (level < 0 || level >= ARRAY_LEN(logger_level_to_syslog_map)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return logger_level_to_syslog_map[level];
|
return logger_level_to_syslog_map[level];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user