Nest.js框架日志模块,集成终端、文件等形式日志
npm install @142vip/nest-logger
``shell`npm
npm install @142vip/nest-loggerpnpm
pnpm i @142vip/nest-logger
`typescript`
NestLoggerModule.register({
consoleLogger: {
// ...
},
fileLogger: {
// ...
},
})
`typescript`
// app 实例,使用Logger
NestLoggerModule.useLogger(app)日志打印
`typescript
import { Logger } from '@nestjs/common'
export class MyService {
private readonly logger = new Logger(MyService.name)
foo() {
this.logger.verbose({ foo: 'bar' }, 'baz %s', 'qux')
this.logger.debug('foo %s %o', 'bar', { baz: 'qux' })
this.logger.log('foo')
}
}
`
`typescript
import { InjectLogger, NestLogger } from '@142vip/nest-logger'
export class MyService {
constructor(
private readonly logger: PinoLogger
) {
this.logger.setContext(MyService.name)
}
constructor(
@InjectLogger(MyService.name)
private readonly logger: NestLogger
) {}
foo() {
// PinoLogger has same methods as pino instance
this.logger.trace({ foo: 'bar' }, 'baz %s', 'qux')
this.logger.debug('foo %s %o', 'bar', { baz: 'qux' })
this.logger.info('foo')
}
}
`
`typescript
import { InjectLogger, NestLogger } from '@142vip/nest-logger'
export class MyService {
constructor(
private readonly logger: NestLogger
) {
this.logger.setContext(MyService.name)
}
foo() {
this.logger.trace({ foo: 'bar' }, 'baz %s', 'qux')
this.logger.debug('foo %s %o', 'bar', { baz: 'qux' })
this.logger.info('foo')
}
}
``
- nestjs-pino
- pino
- pino-pretty
- pino-http
Copyright (c) 2019-present, @142vip 储凡
仅供学习参考,商业使用请保留作者版权信息,作者不保证也不承担任何软件的使用风险。