enable logging in typeorm with nestjs

Viewed 3097

I have a provider module for dB connection with typeorm configuration like so

import { DatabaseType } from 'typeorm';
import { Logger, Module } from '@nestjs/common';
import { TypeOrmModule, TypeOrmModuleAsyncOptions } from'@nestjs/typeorm';
import { MongoConfigModule } from '../../../config/database/mongo/config.module';
import { MongoConfigService } from '../../../config/database/mongo/config.service';
import { TypeOrmLoggerContainer } from '../../../common/logger/typeorm-logger-container';
 @Module({
   imports: [
      TypeOrmModule.forRootAsync({
        imports: [MongoConfigModule],
        useFactory: async (mongoConfigService: MongoConfigService) => ({
    type: mongoConfigService.mongo_type as DatabaseType,
    logger: new TypeOrmLoggerContainer(),
    logging: true,
    url: mongoConfigService.mongo_url,
    useUnifiedTopology: mongoConfigService.mongo_useUnifiedTopology,
    entities: [
      __dirname + '/../../../models/**/entities/*{.entity.ts,.entity.js}',
    ],
  }),
  inject: [MongoConfigService],
  } as TypeOrmModuleAsyncOptions),
 ],
 })
export class MongoDatabaseProviderModule {}

this is my typeormLoggerContianer here I am implementing logger from typeorm

  import { Logger, Logger as TypeOrmLogger, QueryRunner } from    'typeorm';
  
  export class TypeOrmLoggerContainer implements Logger {
  logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): any {
   console.log(query);
  }

 log(level: 'log' | 'info' | 'warn',message: any,queryRunner?:  QueryRunner): any {
   console.log(message);
  }

  logMigration(message: string, queryRunner?: QueryRunner): any {
   console.log(message);
 }

 logQueryError(error: string | Error,query: string,parameters?: any[],queryRunner?: QueryRunner,): any {
    console.log(query);
  }

logQuerySlow(time: number,query: string,parameters?: any[],queryRunner?:QueryRunner,): any {
    console.log(query);
  }

  logSchemaBuild(message: string, queryRunner?: QueryRunner): any {
    console.log(message);
  }
}

know I am using a custom wrapper around typeorm logger TypeOrmLoggerContainer like this example here https://typeorm.io/#/logging

the application builds successfully but no logs appear in the console when querying to the database using typeorm!

any clue how to fix this?

0 Answers
Related