【问题标题】:Winston outputs json instead of formatted stringWinston 输出 json 而不是格式化的字符串
【发布时间】:2018-10-03 14:38:24
【问题描述】:

我在我的应用中设置了一个简单的 winston 记录器,如下所示:

function logger(success, msg) {
    let now = new Date().toUTCString()
    let logger = new (winston.Logger)({
        transports: [
            new (winston.transports.File)({ 
                filename: 'log.log',
                timestamp: function() {
                    return new Date().toUTCString();
                },
                formatter: function(options) {
                    return `>>>>>>>>>> ${options.timestamp()} - ${options.level.toUpperCase} - ${options.message}`;
                }
            })
        ]
    });

    if (success) {
        logger.log('info', msg)
    } else {
        logger.log('error', msg)
    }
}

但不是记录格式化的字符串,而是输出以下内容:

{"level":"error","message":"Nothing to upload","timestamp":"Mon, 23 Apr 2018 13:53:01 GMT"}

想法?我错过了什么吗? (我当然是)

【问题讨论】:

    标签: javascript node.js logging npm winston


    【解决方案1】:

    您可以在 File 的 winston 文档中找到,如果您不希望文件中的信息成为 JSON 对象,则可以将属性 json 设置为 false。 默认此属性为true

    json:如果为 true,则消息将记录为 JSON(默认为 true)。

    您可以尝试像这样更改您的代码吗:

    function logger(success, msg) {
        let now = new Date().toUTCString()
        let logger = new (winston.Logger)({
            transports: [
                new (winston.transports.File)({ 
                    filename: 'log.log',
                    timestamp: function() {
                        return new Date().toUTCString();
                    },
                    json: false,
                    formatter: function(options) {
                        return `>>>>>>>>>> ${options.timestamp()} - ${options.level.toUpperCase} - ${options.message}`;
                    }
                })
            ]
        });
    
        if (success) {
            logger.log('info', msg)
        } else {
            logger.log('error', msg)
        }
    }
    

    【讨论】:

    • 没看到那个。谢谢!
    • 这适用于transports.Filetransports.Console 是否有类似的选项?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2018-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    相关资源
    最近更新 更多