有条件地登录到 kibana 上的两个不同索引 - 嵌套 js

分享于2022年07月17日 elasticsearch nestjs winston 问答
【问题标题】:有条件地登录到 kibana 上的两个不同索引 - 嵌套 js(Conditionally logging into two different indexes on kibana - nest js)
【发布时间】:2022-06-20 14:32:27
【问题描述】:

我有一个 Nest js 应用程序,它使用以下代码来实例化应用程序记录器:

const logger = WinstonModule.createLogger(winstonConfig);
const app = await NestFactory.create(AppModule, new FastifyAdapter({ logger: true }), {
    logger,
});

所以我可以配置为在 elastic 上记录到多个索引,但始终将所有内容记录到所有索引。

我发现了一种根据接收日志有效负载登录到不同索引的不那么花哨的方法。

但我的问题是:是否有一种嵌套 js 观点的方法来创建条件以记录到 X 索引但不记录到 Z 控制器/模块中的 Y 索引?

提前感谢您的宝贵时间。


【解决方案1】:

您可以在应用创建上方定义一个具有空状态的变量 然后根据您的条件为您的日志记录选项分配值

例如

让记录器

if(x>y)logger= //你想要什么 else logger = //你想要什么

最后,将记录器分配给记录器变量

这应该可以解决问题