# Logstash UDP Appender

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.

## Configuration

- `type` - `logstashUDP`
- `host` - `string` - hostname (or IP-address) of the logstash server
- `port` - `integer` - port of the logstash server
- `logType` - `string` (optional) - used for the `type` field in the logstash data
- `category` - `string` (optional) - used for the `type` field of the logstash data if `logType` is not defined
- `fields` - `object` (optional) - extra fields to log with each event
- `layout` - (optional, defaults to dummyLayout) - used for the `message` field of the logstash data (see layouts)

## Example

    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'
      }
    }