A port of log4js to node.js
This appender sends log events to a logstash server via UDP. It uses the node.js core UDP support, and so requires no extra dependencies. Remember to call log4js.shutdown
in your application if you want the UDP socket closed cleanly.
type
- logstashUDP
host
- string
- hostname (or IP-address) of the logstash serverport
- integer
- port of the logstash serverlogType
- string
(optional) - used for the type
field in the logstash datacategory
- string
(optional) - used for the type
field of the logstash data if logType
is not definedfields
- object
(optional) - extra fields to log with each eventlayout
- (optional, defaults to dummyLayout) - used for the message
field of the logstash data (see layouts)log4js.configure({
appenders: {
logstash: {
type: 'logstashUDP',
host: 'log.server',
port: '12345',
logType: 'application',
fields: { biscuits: 'digestive', tea: 'tetley' }
}
},
categories: {
default: { appenders: ['logstash'], level: 'info' }
}
});
const logger = log4js.getLogger();
logger.info("important log message", { cheese: 'gouda', biscuits: 'hobnob' });
This will result in a JSON message being sent to log.server:12345
over UDP, with the following format:
{
'@version': '1',
'@timestamp': '2014-04-22T23:03:14.111Z',
'type': 'application',
'message': 'important log message',
'fields': {
'level': 'INFO',
'category': 'default',
'biscuits': 'hobnob',
'cheese': 'gouda',
'tea': 'tetley'
}
}