@node-ts/logger-winston
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

@node-ts/logger-winston

A Winston implementation for logger.

Usage

Install the package and its dependenceis

npm i @node-ts/logger-winston @node-ts/logger-core

Load the modules during application startup in inversify:

import { Container } from 'inversify'
import { LoggerModule } from '@node-ts/logger-core'
import { WinstonModule } from '@node-ts/logger-winston'

// ...

const container = new Container()
container.load(new LoggerModule())
container.load(new WinstonModule())

Custom Configuration

To configure the winston logger instances, provide your own WinstonConfiguration implementation, ie:

@injectable()
export class CustomWinstonConfiguration implements WinstonConfiguration {
  getConfiguration (loggerName: string): winston.LoggerOptions {
    return {
      defaultMeta: { loggerName }
      // etc
    }
  }
}

Then to use it, rebind the WINSTON_SYMBOLS.WinstonConfiguration symbol on your application startup:

import { ContainerModule } from 'inversify'
import { CustomWinstonConfiguration } from './custom-winston-configuration'
import { WINSTON_SYMBOLS } from '@node-ts/logger-winston'

export class ApplicationModule extends ContainerModule {
  constructor () {
    super((_, __, ___, rebind) => {
      rebind(WINSTON_SYMBOLS.WinstonConfiguration).to(CustomWinstonConfiguration)
    })
  }
}

Readme

Keywords

none

Package Sidebar

Install

npm i @node-ts/logger-winston

Weekly Downloads

246

Version

0.1.1

License

MIT

Unpacked Size

38.7 kB

Total Files

45

Last publish

Collaborators

  • adenhertog