
winston의 기능으로 파일을 분리 하려고 하니 뭔가 아쉬운 부분이 있다.
(날짜별 분리라던가 등등)
npm i winston-daily-rotate-file
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as winstonDaily from 'winston-daily-rotate-file';
import * as winston from 'winston';
import {
WinstonModule,
utilities as nestWinstonMoluleUtilties,
} from 'nest-winston';
async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: WinstonModule.createLogger({
transports: [
new winston.transports.Console({
level: 'silly',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.ms(),
nestWinstonMoluleUtilties.format.nestLike('MyApp', {
colors: true,
prettyPrint: true,
appName: true,
}),
),
}),
new winstonDaily({ +
level: 'silly', +
dirname: 'logs', +
datePattern: 'YYYY.MM.DD', +
filename: 'dailylog-%DATE%.log', +
maxSize: '0.1m', +// 0.1MB
format: winston.format.combine( +
winston.format.timestamp(), +
winston.format.ms(), +
nestWinstonMoluleUtilties.format.nestLike('MyApp', { +
colors: false, +
prettyPrint: true, +
processId: true, +
appName: true, +
}), +
), +
}), +
],
}),
});
await app.listen(process.env.PORT ?? 3000);
const port = app.getHttpServer().address().port;
console.log(`Application is running on port: ${port}`);
)
bootstrap();