我已经使用express创建了Node js,目前我使用console.log来记录消息,并使用morgan来表达express...对于生产,使用推荐的方法来进行错误处理和日志记录,有推荐使用的模块吗? 示例将非常有用!
我尝试以下操作
module.exports = function () {
var logger = new winston.Logger({
levels: {
info: 1
},
transports: [
new (winston.transports.File)({
level: 'info',
filename: path.join(process.cwd(), '/logs/log.json'),
})
]
});
}
最佳答案
我用过winston过去相当有效。在下面的摘录中,我们将创建一个名为 info 的自定义日志级别,以便我们可以调用 logger.info
记录消息。我相信 Winston 上定义了许多默认级别,并且有详细记录。
第二部分是定义传输。在 winston ,这本质上是日志的存储设备。您可以在阵列中定义多种传输,包括控制台日志记录、文件日志记录、旋转文件日志记录等...这些都有详细记录 here 。在我的示例中,我创建了一个文件传输,其中日志文件位于 log/logs.json
下在应用程序的根目录内。现在每次我打电话logger.info('blah blah blah')
我将在文件中看到一个新的日志条目。
var winston = require('winston'),
, path = require('path')
// Log to file.
var logger = new winston.Logger({
levels: {
info: 1
},
transports: [
new (winston.transports.File)({
level: 'info',
filename: path.join(process.cwd(), '/log/logs.json'),
})
]
});
// Write to log.
logger.info("something to log");
关于javascript - Node 日志记录和错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494405/