Reputation: 470
I am trying to implementing lgger in my nest app, its showing console but not creating file.. app.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { AdminuserModule } from './adminuser/adminuser.module';
import {
utilities as nestWinstonModuleUtilities,
WinstonModule,
} from 'nest-winston';
import * as winston from 'winston';
@Module({
imports: [
WinstonModule.forRoot({
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.timestamp(),
nestWinstonModuleUtilities.format.nestLike(),
),
}),
],
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule { }
app.controller.ts
import { Controller, Get, Inject } from '@nestjs/common';
import { AppService } from './app.service';
import { WINSTON_MODULE_PROVIDER } from 'nest-winston';
import { Logger } from 'winston';
@Controller()
export class AppController {
constructor(private readonly appService: AppService,@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger) {}
@Get()
getHello(): string {
this.logger.info('Calling getHello()', { controller: AppController.name });
return this.appService.getHello();
}
}
its logging in console but I need to loggin into file also.. How can I do that?
Upvotes: 0
Views: 1282
Reputation: 11
You can add more transport to AppModule such as example:
transports: [
new transports.File({ filename: "error.log", level: "error" }),
new transports.File({ filename: "combined.log" }),
new transports.Console(),
],
Upvotes: 1