# log

A real simple logger application.
May Optional Log to A File and a graylog-server via http or udp.

## Installation

- `npm install --save @general/config`

## Usage

`const Log = require('@general/log')`  
`let log = new Log(options)`

Note: The options Part may be omitted, as all parts are optional, but using the name is recommended, as without it, the package-name will be used

### Methods

- `log.info('This is an Information' )`
- `log.notice('This is a Notice' )`
- `log.warn('This is a Warning' )`
- `log.error('This is an Error' )`
- `log.fatal('This is a Fatal Message' )`
- `log.debug('This is a Debug Message' )`

You may also add any number of any parameter. The objects will be concatenated using your custom delimeter and stringified.

e.g.:

`log.info('this', ['array', 8], 4, {type:'test'})`

will logged as  

__YYYY-MM-DDTHH:ii:ss SERVER  INFO  this ["array",8] 4 {"type": "test"}

### Options

```json
{
  "name": "Name of App. Default: Name of BaseFolder",
  "hostname": "Server Hostname, Default: os.hostname()",
  "file": "'File to Append Log to",
  "path": "Path Logfile located",
  "loglevel": "Minimal LogLevel. Default: WARN",
  "delimeter": "How to join multiple outputs. Default: (a single space)",
  "graylog": {
    "active": "true or false",
    "mode": "http or udp, defaults to udp",
    "server": "graylog-server",  
    "port": "graylog-port"
  }
}
```

### Examples

Check the Examples to get a Feeling about the possibilities.