Sailsjs - 使用Winston自定义日志记录

时间:2014-10-08 13:58:35

标签: node.js mongodb logging amazon-s3 sails.js

我目前正在尝试为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
};

总体上对我不起作用。

有什么想法吗?

1 个答案:

答案 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");