【问题标题】:Sail.js - How to create a clean log file?Sail.js - 如何创建一个干净的日志文件?
【发布时间】:2014-07-02 12:11:12
【问题描述】:

我目前正在使用Sails v0.10.0-rc7 并尝试将控制台日志转发到文件中。 一些较旧的线程描述了一种通过在config/log.js 中添加以下行来执行此操作的方法:

module.exports = {
    log: {
        level: 'info',
        filePath: 'someFile.log'
    }
};

但这似乎不再起作用了。 Sails 使用子项目captains-log,它以前封装了winston。根据 README.md 我将config/log.js 更改为:

var winston = require('winston');
module.exports = {
    'log': {
        'custom': new (winston.Logger)({
            'transports': [
                new (winston.transports.Console)({
                    'level': 'info',
                    'colorize': true,
                    'timestamp': false,
                    'json': false
                }),
                new winston.transports.File({
                    'level': 'debug',
                    'colorize': false,
                    'timestamp': true,
                    'json': true,
                    'filename': './logs/test.log',
                    'maxsize': 5120000,
                    'maxFiles': 3
                })
            ]
        })
    }
};

嗯,这行得通,但是记录的消息在消息文本中总是有一个彩色前缀。所以控制台中的输出看起来像

info: info:
info: info:
info: info:    Sails              <|
info: info:    v0.10.0-rc7         |\
info: info:                       /|.\
info: info:                      / || \
info: info:                    ,'  |'  \
info: info:                 .-'.-==|/_--'
info: info:                 `--'-------'
info: info:    __---___--___---___--___---___--___
info: info:  ____---___--___---___--___---___--___-__
info: info:

(两个信息标签都以绿色着色) 日志文件消息看起来像

{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m   Sails              <|","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m   v0.10.0-rc7         |\\","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m                      /|.\\","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m                     / || \\","timestamp":"2014-07-02T10:51:13.517Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m                   ,'  |'  \\","timestamp":"2014-07-02T10:51:13.527Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m                .-'.-==|/_--'","timestamp":"2014-07-02T10:51:13.527Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m                `--'-------' ","timestamp":"2014-07-02T10:51:13.527Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m   __---___--___---___--___---___--___","timestamp":"2014-07-02T10:51:13.527Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m ____---___--___---___--___---___--___-__","timestamp":"2014-07-02T10:51:13.527Z"}
{"level":"info","message":"\u001b[32minfo: \u001b[39m","timestamp":"2014-07-02T10:51:13.527Z"}

在生产模式下工作会抑制前缀,但我在日志消息中仍然有一些颜色编码。

那么,有人知道如何去掉日志消息中的前缀和颜色编码吗?

【问题讨论】:

  • 我能够通过在 custom: ... 条目之外添加 colors: false 来实现我的目标。
  • 随时发布您的解决方案作为答案并将其标记为已接受,以便其他人可以找到它...

标签: node.js sails.js


【解决方案1】:

我可以通过添加colors: false来实现我的目标:

var winston = require('winston');
module.exports = {
    'log': {
        'colors': false,
        'custom': new (winston.Logger)({
            'transports': [
                new (winston.transports.Console)({
                    'level': 'info',
                    'colorize': true,
                    'timestamp': false,
                    'json': false
                }),
                new winston.transports.File({
                    'level': 'debug',
                    'colorize': false,
                    'timestamp': true,
                    'json': true,
                    'filename': './logs/test.log',
                    'maxsize': 5120000,
                    'maxFiles': 3
                })
            ]
        })
    }
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2015-04-05
    • 2011-11-10
    相关资源
    最近更新 更多