我目前正在使用Sails v0.10.0-rc7并尝试将控制台日志转发到文件中.一些较旧的线程通过在以下行中添加以下行来描述一种方法config/log.js:
module.exports = {
log: {
level: 'info',
filePath: 'someFile.log'
}
};
Run Code Online (Sandbox Code Playgroud)
但这似乎不再起作用了.Sails使用以前封装的winston 的子项目captains-log.根据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
})
]
})
}
};
Run Code Online (Sandbox Code Playgroud)
嗯,这可行,但记录的消息在消息文本中始终具有彩色前缀.所以控制台中的输出看起来像
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:
Run Code Online (Sandbox Code Playgroud)
(两个信息标签都以绿色显示)和日志文件消息看起来像
{"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"}
Run Code Online (Sandbox Code Playgroud)
在生产模式下工作会抑制前缀,但我仍然在日志消息中有一些颜色编码.
那么,有没有人知道如何摆脱日志消息中的前缀和颜色编码?
小智 13
我能够通过添加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
})
]
})
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |