我已经使用express创建了Node js,目前我使用console.log来记录消息而morgan用于表达...对于生产使用建议的方法来进行错误处理和日志记录,有推荐的模块使用? 示例非常有用!
我尝试使用以下
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'),
})
]
});
}
答案 0 :(得分:1)
我过去曾经非常有效地使用过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");