我创建了一个基于Ian的答案的扩展记录器:与NestJS记录器一起使用Azure Applications Insights sdk的问题
NestJS旧版本:
export class MyLogger extends Logger {
通常情况下,您可以为nestjs记录器设置日志级别:
const app = await NestFactory.create(AppModule, {
logger: ['error', 'warn'],
});
但是,如果我扩展Logger,我如何设置LogLevels。
const app = await NestFactory.create(AppModule);
const logger = await app.resolve(MyLogger);
logger.setClient(appInsights.defaultClient);
app.useLogger(logger);
- 如果您的应用程序使用扩展内置
Logger
的自定义记录器类,那么现在应该更新它以扩展ConsoleLogger
之前:
export class MyLogger extends Logger {}
现在:
export class MyLogger extends ConsoleLogger {}
扩展内置的ConsoleLogger
类
export class MyLogger extends ConsoleLogger
const app = await NestFactory.create(ApplicationModule, {
bufferLogs: true,
});
app.useLogger(app.get(MyLogger));
await app.listen(3000);
- 扩展NestJS中内置的记录器并使用LogsService
请参阅扩展内置记录器,了解更多信息