chore: deprecate logstash http appender

This commit is contained in:
Gareth Jones 2018-07-02 07:46:30 +10:00
parent d1644210ae
commit 9371871f12
4 changed files with 9 additions and 36 deletions

View File

@ -27,7 +27,6 @@ The following appenders are included with log4js. Some require extra dependencie
* [logFaces-HTTP](logFaces-HTTP.md)
* [logFaces-UDP](logFaces-UDP.md)
* [logLevelFilter](logLevelFilter.md)
* [logstashHTTP](logstashHTTP.md)
* [multiFile](multiFile.md)
* [multiprocess](multiprocess.md)
* [recording](recording.md)
@ -41,6 +40,7 @@ The following appenders are supported by log4js, but will issue deprecation warn
* [gelf](https://github.com/log4js-node/gelf)
* [hipchat](https://github.com/log4js-node/hipchat)
* [loggly](https://github.com/log4js-node/loggly)
* [logstashHTTP](https://github.com/log4js-node/logstashHTTP)
* [logstashUDP](https://github.com/log4js-node/logstashUDP)
* [mailgun](https://github.com/log4js-node/mailgun)
* [rabbitmq](https://github.com/log4js-node/rabbitmq)

View File

@ -1,33 +0,0 @@
# logstash Appender (HTTP)
The logstash appenders send NDJSON formatted log events to [logstash](https://www.elastic.co/products/logstash) receivers. This appender uses HTTP to send the events (there is another logstash appender that uses [UDP](https://github.com/log4js-node/logstashUDP)). You will need to include [axios](https://www.npmjs.com/package/axios) in your dependencies to use this appender.
## Configuration
* `type` - `logstashHTTP`
* `url` - `string` - logFaces receiver servlet URL
* `application` - `string` (optional) - used to identify your application's logs
* `logChannel` - `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 data
* `timeout` - `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.
# Example (default config)
```javascript
log4js.configure({
appenders: {
logstash: { type: 'logstashHTTP', 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');
```
This example will result in two log events being sent to your `localhost:9200`. Both events will have a `context.requestId` property with a value of `123`.

View File

@ -7,7 +7,7 @@ log4js.configure({
},
logstash: {
url: 'http://172.17.0.5:9200/_bulk',
type: 'logstashHTTP',
type: '@log4js-node/logstash-http',
logType: 'application',
logChannel: 'node',
application: 'logstash-log4js',

View File

@ -1,4 +1,6 @@
/**
* This appender is deprecated, please apply any bugfixes or changes
* to https://github.com/log4js-node/logstash-http
* logstashHTTP appender sends JSON formatted log events to logstashHTTP receivers.
*
* HTTP require 'axios', see 'https://www.npmjs.com/package/axios'
@ -31,7 +33,7 @@ function logstashHTTPAppender(config) {
withCredentials: true,
});
return function log(event) {
const appender = function log(event) {
const logstashEvent = [
{
index: {
@ -61,6 +63,10 @@ function logstashHTTPAppender(config) {
console.error(`log4js.logstashHTTP Appender error: ${error.message}`);
});
};
appender.deprecated = '@log4js-node/logstash-http';
return appender;
}
function configure(config) {