我目前正在尝试为sailsjs编写一个自定义记录器,它将使用winston将文件发送到s3存储桶或mongodb数据库。
文档似乎缺乏,但到目前为止我已经找到了这个:
var customLogger = new winston.Logger({
transports: [
new(winston.transports.File)({
level: 'debug',
filename: './logs/my_log_file.log'
})
]
});
module.exports.log = {
colors: false, // To get clean logs without prefixes or color codings
custom: customLogger
};
总体上对我不起作用。
有什么想法吗?
答案 0 :(得分:0)
在推广MayBeColin的工作之后,工作解决方案:
在config文件夹中创建一个新的js文件(其中的代码将由sails自动执行)并添加mongodb传输,如下所示,
var winston = require('winston');
var MongoDB = require('winston-mongodb').MongoDB;
var customLogger = new(winston.Logger)({
transports: [
new(winston.transports.MongoDB)({
db: 'mongodb://localhost:27017/test',
collection: 'logs',
level: 'debug'
})
]
});
module.exports.logging = {
colors: false, // To get clean logs without prefixes or color codings
custom: customLogger
};
并在任何地方使用
sails.config.logging.custom.debug("winston mongodb transport logging");