首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用winston做关联Id?

如何用winston做关联Id?
EN

Stack Overflow用户
提问于 2020-03-12 16:00:04
回答 2查看 1.8K关注 0票数 2

我在nodejs应用程序中使用了Winston。

代码语言:javascript
复制
const winston = require('winston');
const logger = winston.createLogger({
    transports: [
        new winston.transports.Console()
    ]
});

logger.info('What rolls down stairs');

我想添加日志相关id,但我不想每次都写

代码语言:javascript
复制
 logger.info('What rolls down stairs', correlationId);

我想让温斯顿这么做。对于每个日志,我希望获得作为函数结果的correlationId,这样我就可以将correlationId发送给用户(而不仅仅是将其输出到控制台)。

代码语言:javascript
复制
 const correlationId = logger.info('blabla')

使用Winston可以做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2020-03-12 18:37:43

要在Winston need log中默认创建correlationId和setup,您需要使用defaultMeta

代码语言:javascript
复制
var correlationId = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)
const winston = require('winston');
const logger = winston.createLogger({
defaultMeta: { correlationId },
    transports: [
        new winston.transports.Console()
    ]
});

logger.info('What rolls down stairs');
票数 0
EN

Stack Overflow用户

发布于 2021-04-02 20:51:02

代码语言:javascript
复制
import { v4 as uuidv4 } from "uuid";

export async function withCorrelationId(message:string) {
    const id = uuidv4()

    logger.info({
        message,
        id,
    });

    return id
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60649786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档