Logstash HTTP Appender for log4js-node
npm install @log4js-node/logstash-httpThe logstash appenders for log4js send NDJSON formatted log events to logstash receivers. This appender uses HTTP to send the events (there is another logstash appender that uses UDP).
``bash`
npm install log4js @log4js-node/logstash-http
* type - @log4js-node/logstash-httpurl
* - string - logFaces receiver servlet URLapplication
* - string (optional) - used to identify your application's logslogChannel
* - string (optional) - also used to identify your application's logs [but in a more specific way]logType
* - string (optional) - used for the type field in the logstash datatimeout
* - integer (optional, defaults to 5000ms) - the timeout for the HTTP request.
This appender will also pick up Logger context values from the events, and add them as p_ values in the logFaces event. See the example below for more details.
`javascript
log4js.configure({
appenders: {
logstash: { type: '@log4js-node/logstash-http', url: 'http://localhost:9200/_bulk', application: 'logstash-log4js', logType: 'application', logChannel: 'node' }
},
categories: {
default: { appenders: [ 'logstash' ], level: 'info' }
}
});
const logger = log4js.getLogger();
logger.addContext('requestId', '123');
logger.info('some interesting log message');
logger.error('something has gone wrong');
`localhost:9200
This example will result in two log events being sent to your . Both events will have a context.requestId property with a value of 123`.