我正在使用 NestJS 内置记录器。我找不到设置全局日志级别的选项。例如,开发环境的日志级别为“详细”,生产环境的日志级别为“错误”。
另外,是否有一个选项可以禁用 NestJS 在输出中添加的内容(即时间戳和其他信息)并仅记录消息?我需要这个,因为我们使用 Kibana 日志,它会自动添加所需的字段。
我正在使用 @nestjs/mongoose 包连接到 Mongo DB。我在 app.module.ts 中有这个:
imports: [
MongooseModule.forRoot(process.env.MONGODB_URI, {
useNewUrlParser: true,
bufferCommands: false,
bufferMaxEntries: 0,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true
})]
Run Code Online (Sandbox Code Playgroud)
现在,NestJS 服务在 Kubernetes 集群中运行,并进行了适当的健康、活跃度和就绪检查。每当在服务上调用就绪或运行状况端点时,我需要检查托管的 Atlas Mongo DB 连接是否可用或是否发生中断。截至目前,为就绪和健康端点执行以下代码:
this.mongoDbConnection = await mongoose.connect(process.env.MONGODB_URI, options);
return (this.mongoDbConnection.connection.readyState === 1);
Run Code Online (Sandbox Code Playgroud)
但这会创建与 mongo DB 服务器的新连接。我想要的是检索 NestJS 通过 app.module.ts 中的 MongooseModule.forRoot 建立的现有连接的 readyState。
我不确定如何在健康检查服务代码中检索现有的猫鼬连接对象。任何帮助将非常感激。