Sails.js 0.10.x:登录到文件

kk4*_*5kk 8 logging error-logging node.js sails.js

我想使用内置的Sails.js记录器并将所有内容记录到文件中."filePath"变量曾用于在config/log.js中的0.9.x中工作,但它似乎不再适用于0.10.x. 是否已删除此功能 - 如果是,现在登录磁盘的最佳方法是什么?

use*_*090 23

对于日志记录,Sails.js(> = 0.10.0)依赖于captains-log,这是一个"轻量级记录器,具有简单的传递配置,可用于更高级的日志记录库".

要登录文件,您需要配置自定义记录器.我建议您使用Winston,并使用文件传输进行配置.这样做比较容易:

安装温斯顿

$ npm install winston --save
Run Code Online (Sandbox Code Playgroud)

在您的应用程序中,编辑config/log.js文件并添加以下内容

var winston = require('winston');

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
};
Run Code Online (Sandbox Code Playgroud)

使用标准sails log命令记录任何消息

sails.log.debug("Message to be logged");
Run Code Online (Sandbox Code Playgroud)

重启风帆

$ sails lift
Run Code Online (Sandbox Code Playgroud)

您应该看到内容存储在./logs/my_log_file.log文件中.