基于 Winston 实现 NestJS 应用日志服务
import { Injectable, Scope } from '@nestjs/common';
import * as winston from 'winston';
@Injectable({ scope: Scope.TRANSIENT })
export class LoggingService {
private logger: winston.Logger;
constructor() {
this.logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'combined.log' }),
],
});
}
logInfo(message: string) {
this.logger.info(message);
}
logError(message: string) {
this.logger.error(message);
}
}
这段代码定义了一个服务类LoggingService
,它使用Winston库来创建日志记录器。服务实例的范围设置为Scope.TRANSIENT
,意味着每次注入时都会创建一个新的服务实例。logInfo
和logError
方法用于记录信息和错误日志。这个例子展示了如何在NestJS应用中使用Winston进行日志管理。
评论已关闭