diff options
author | Matt Jordan <mjordan@digium.com> | 2015-09-21 07:26:00 -0500 |
---|---|---|
committer | Matt Jordan <mjordan@digium.com> | 2015-09-29 07:28:01 -0500 |
commit | 2d7a4a3357cbaea7acd8fb202c28512980508c88 (patch) | |
tree | 11ae00b20119a5a539fb14a9ea1cbcac81102abb /CHANGES | |
parent | 9db74be3c075a7a4ab21d6e04d3e50266b3e8e14 (diff) |
main/logger: Add log formatters and JSON structured logs
When Asterisk is part of a larger distributed system, log files are often
gathered using tools (such as logstash) that prefer to consume information
and have it rendered using other tools (such as Kibana) that prefer a
structured format, e.g., JSON. This patch adds support for JSON formatted
logs by adding support for an optional log format specifier in Asterisk's
logging subsystem. By adding a format specifier of '[json]':
full => [json]debug,verbose,notice,warning,error
Log messages will be output to the 'full' channel in the following
format:
{
"hostname": Hostname or name specified in asterisk.conf
"timestamp": Date/Time
"identifiers": {
"lwp": Thread ID,
"callid": Call Identifier
}
"logmsg": {
"location": {
"filename": Name of the file that generated the log statement
"function": Function that generated the log statement
"line": Line number that called the logging function
}
"level": Log level, e.g., DEBUG, VERBOSE, etc.
"message": Actual text of the log message
}
}
ASTERISK-25425 #close
Change-Id: I8649bfedf3fb7bf3138008cc11565553209cc238
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -115,6 +115,13 @@ Core names. This way one X.509 certificate can be used for hosts that can be reached under multiple DNS names or for multiple hosts. + * The Asterisk logging system now supports JSON structured logging. Log + channels specified in logger.conf or added dynamically via CLI commands now + support an optional specifier prior to their levels that determines their + formatting. To set a log channel to format its entries as JSON, a formatter + of '[json]' can be set, e.g., + full => [json]debug,verbose,notice,warning,error + Functions ------------------ |