【发布时间】:2015-03-21 18:50:25
【问题描述】:
在搜索 Sails.js 文档、GitHub 问题、Google 组和这里的 SO 之后,我仍然无法弄清楚我做错了什么......
我想使用 Winston 以 3 个不同的传输方式记录 3 个不同的日志级别:
在我的 config/log.js 文件中,我有以下内容:
var Winston = require('winston');
var Loggly = require('winston-loggly');
var Sentry = require('winston-sentry');
module.exports.log = {
// Without this the log level is prefixed to messages twice
// for some reason...
prefixes: {},
// Without this, Winston Sails seems to only send "info"
// logs to Winston (Sails' default log level)...
level: 'verbose',
custom: new Winston.Logger({
transports: [
new Winston.transports.Sentry({
level: 'warn',
dsn: '{my account dsn}',
patchGlobal: true
}),
new Winston.transports.Loggly({
level: 'info',
subdomain: '{my subdomain}',
inoputToken: '{my input token}'
}),
new Winston.transports.Console({
level: 'verbose'
})
]
})
};
但是上面的设置有很多问题:
-
verbose日志正在发送到 Loggly... - 只有
root错误出现在Sentry 中,我认为这是来自patchGlobal选项。没有警告,也没有来自被拒绝的 Bluebird 承诺的“可能未捕获的异常”错误。
谁能指出我正确的方向?我做错了什么?
【问题讨论】:
-
请注意:
var Loggly = require('winston-longly'):有两个错字。我想应该是winston-loggly并以;结束,对吧? -
不错的@Murilo,已修复。