Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 启用使用nestjs登录typeorm_Logging_Nestjs_Typeorm - Fatal编程技术网

Logging 启用使用nestjs登录typeorm

Logging 启用使用nestjs登录typeorm,logging,nestjs,typeorm,Logging,Nestjs,Typeorm,我有一个用于dB连接的提供程序模块,其类型配置如下 import { DatabaseType } from 'typeorm'; import { Logger, Module } from '@nestjs/common'; import { TypeOrmModule, TypeOrmModuleAsyncOptions } from'@nestjs/typeorm'; import { MongoConfigModule } from '../../../config/database/

我有一个用于dB连接的提供程序模块,其类型配置如下

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 {}
这是我的typeormLoggerContianer,我正在从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);
  }
}
知道我在typeorm logger TypeOrmLoggerContainer周围使用自定义包装器吗 就像这个例子

应用程序成功构建,但在使用typeorm查询数据库时,控制台中不会显示任何日志


有什么线索可以解决这个问题吗?

你能添加一个
TypeOrmLoggerContainer
的外观吗?你的启动日志是什么样子的?@JayMcDoniel edited,我的启动日志正常工作所有模块都被初始化,它记录应用程序的启动可能是一个愚蠢的问题,但是你是否将你的
MongoDatabaseProviderModule
导入你的应用程序模块?这也是我看到你的代码和nestjs文档之间的唯一区别,就是你有你的箭头功能async@HartWoom,是的,我确实导入了MongoDatabaseProviderModule,因为它是与mongo db的连接,连接正常,我从mongo获取数据,但我无法记录这些问题。您可以添加
类型或mloggerContainer
的外观吗?你的启动日志是什么样子的?@JayMcDoniel edited,我的启动日志正常工作所有模块都被初始化,它记录应用程序的启动可能是一个愚蠢的问题,但是你是否将你的
MongoDatabaseProviderModule
导入你的应用程序模块?这也是我看到你的代码和nestjs文档之间的唯一区别,就是你有你的箭头功能async@HartWoom,是的,我确实导入了MongoDatabaseProviderModule,因为它是到mongo db的连接,连接正常,我从mongo获取数据,但我无法记录这些问题