Customisation¶
Options can be set on initialisation, but are not required.
You can also use the options
setter to set options after initialisation.
The object will be merged deeply with the existing (or default) options.
log.error.http('this will throw an error');
log.options = {
// in this example only `namespaces` is modified,
// so `levels` and `transports` are preserved from existing/default options
namespaces: ['http']
};
log.success.http('this works');
Logger options¶
Defaults
See defaults.ts
Types:
interface Partial<LoggerOptions> {
levels?: {
[name: string]: string
},
namespaces?: Array<string>,
transports?: Array<Transport>
}
levels
¶
Default
levels: {
debug: 'info',
verbose: 'info',
info: 'info',
success: 'info',
warn: 'warn',
notice: 'warn',
error: 'error',
critical: 'error'
}
You shouldn't need to change these. If you do, you're probably using levels incorrectly and you should look at namespaces.
namespaces
¶
Default
namespaces: []
Use namespaces to separate your logs into to logical areas (eg. log.info.exampleNamespace()
)
transports
¶
Default
transports: [
new ConsoleTransport(),
new FileTransport()
]
Transports are where the heavy lifting is done. When you use a log function, a log object is passed to the write function of each transport with a matching log level.
- Customise ConsoleTransport
- Customise FileTransport
- Browse community transports
- Make your own transport