Logging 启用使用nestjs登录typeorm
我有一个用于dB连接的提供程序模块,其类型配置如下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/
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获取数据,但我无法记录这些问题