Giter Club home page Giter Club logo

Comments (6)

rubiin avatar rubiin commented on June 4, 2024

I am using like this:

import {
	MiddlewareConsumer,
	Module,
	NestModule,
	RequestMethod,
} from '@nestjs/common';
import { CustomerModule } from './modules/customer/customer.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import * as typeormConfig from './typeorm.config';
import { LoggerMiddleware } from './common/middlewares/logger.middleware';
import { SchedularModule } from './modules/schedular/schedular.module';
import { utilities, WinstonModule } from 'nest-winston';
import { format, transports } from 'winston';
import { TokenModule } from '@modules/token/token.module';
import { AuthMiddleWare } from '@common/middlewares/auth.middleware';

@Module({
	imports: [
		WinstonModule.forRoot({
			format: format.combine(
				format.timestamp({
					format: 'YYYY-MM-DD HH:mm:ss',
				}),
				format.errors({ stack: true }),
				format.splat(),
				format.json(),
			),
			defaultMeta: { service: 'Orbis-employee' },
			transports: [
				new transports.File({
					filename: 'logs/error.log',
					level: 'error',
				}),
				new transports.File({
					filename: 'logs/info.log',
					level: 'info',
				}),
				new transports.Console({
					format: format.combine(
						format.timestamp(),
						utilities.format.nestLike(),
					),
				}),
			],
			exceptionHandlers: [
				new transports.File({
					filename: 'logs/exceptions.log',
				}),
			],
		}),
		CustomerModule,
		TypeOrmModule.forRoot(typeormConfig),
		SchedularModule,
		TokenModule,
	],
	controllers: [],
	providers: [],
})
export class AppModule implements NestModule {
	configure(consumer: MiddlewareConsumer) {
		consumer
			.apply(LoggerMiddleware)
			.forRoutes({ path: '*', method: RequestMethod.ALL });

		consumer.apply(AuthMiddleWare).forRoutes(
			{ path: 'employee/', method: RequestMethod.GET },
			{ path: 'employee/', method: RequestMethod.POST },
			{ path: 'employee/:idx', method: RequestMethod.GET },
			{ path: 'employee/:idx', method: RequestMethod.PUT },
			{ path: 'employee/:idx', method: RequestMethod.DELETE },
			{ path: 'employee/pending', method: RequestMethod.GET },
			{ path: 'employee/pending/:idx', method: RequestMethod.GET },
			{ path: 'employee/verify/:idx', method: RequestMethod.PUT },
			{
				path: 'employee/reset-device/:idx',
				method: RequestMethod.PUT,
			},
		);
	}
}


from nest-winston.

rubiin avatar rubiin commented on June 4, 2024

and in main.ts\

	if (process.env.NODE_ENV === 'production') {
		app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));
	}

from nest-winston.

gremo avatar gremo commented on June 4, 2024

Well, there is too much code to debug or try to get a clue on which can cause that error. I would suggest to to remove all the modules/dependencies and only us the WinstonModule. Try to setup a minimal example so I can reproduce the error, OK?

from nest-winston.

rubiin avatar rubiin commented on June 4, 2024

let me try to setup a minimal example

from nest-winston.

rubiin avatar rubiin commented on June 4, 2024

Fixed it. I was using Logger.log inside bootstrap after replacing it by console.log, the issue resolved

from nest-winston.

gremo avatar gremo commented on June 4, 2024

Glad to know! So, I'll close this isse.

from nest-winston.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.