nestjs-bunyan

Inject bunyan logger via decorator

Usage no npm install needed!

<script type="module">
  import nestjsBunyan from 'https://cdn.skypack.dev/nestjs-bunyan';
</script>

README

nestjs-bunyan

Inject bunyan logger via decorator

Usage

app.ts

@Module({
  imports: [
    BunyanLoggerModule.forRoot({
      isGlobal: true,
      isEnableRequestLogger: true,
      bunyan: {
        name: 'some awesome app',
      },
    }),
  ],
})
export class AppModule {}

some.controller.ts

@Controller()
export class SomeController {
  @ReqLogger() private readonly logger: Bunyan
}

some.service.ts

import {Injectable} from '@nestjs/common'

@Injectable()
export class SomeService {
  @Logger() private readonly logger: Bunyan
}

Customize Request Logger

app.ts

@Module({
  imports: [
    BunyanLoggerModule.forRoot({
      isGlobal: true,
      isEnableRequestLogger: true,
      customRequestLogger(logger: Bunyan, req: Request) {
        return logger.child({userId: req.session.uid})
      },
      bunyan: {
        name: 'some awesome app',
      },
    }),
  ],
})
export class AppModule {}