javascript - Node 日志记录和错误处理

标签 javascript node.js express

我已经使用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/

相关文章:

javascript - 使用 JavaScript 的 eBay API CORS 请求返回未定义

javascript - 这个图案有名字吗?

node.js - 在 OS X 上的 Visual Studio Code 预览中调试 node.js

node.js - Mongodb 基于具有计数的唯一子集合属性聚合搜索结果?

javascript - 引用错误: browser is not defined - Using Karma and Jasmine

javascript - Typescript 应用程序导入和导出的基本问题

JavaScript 分区 'Bounce'/'Jiggle'

node.js - Mongoose 直接填充创建子文档

node.js - Strategy.OAuth2Strategy.parseErrorResponse 错误 - NodeJS passport google oauth2.0

javascript - Node : route try to send response two times - ERR_HTTP_HEADERS_SENT ('set' ); error