Node.js 日志记录


日志记录是任何应用程序(无论是在 Node.js 还是其他编程语言中开发)中非常重要的组成部分。日志记录帮助我们检测应用程序的异常行为以及实时的错误和异常。 应该在应用程序中添加逻辑日志。这些日志帮助用户识别任何错误并在紧急情况下解决问题。

目前用户可以使用 5 个不同的日志级别。这些日志级别用于定义不同类型的日志,并帮助用户识别不同的场景。必须仔细配置日志级别才能充分利用这些日志:

  • 错误 (error)

  • 警告 (warn)

  • 信息 (info)

  • 详细 (verbose)

  • 调试 (debug)

中间件

您可以将此中间件放入请求管道中,以便可以直接使用 debug 模块的强大功能来打印日志。debug 模块的最大优点是几乎所有模块都使用 debug 来打印日志。您可以使用 debug 模块来打印日志和错误。

此中间件主要用作中间管道——您可以将日志传递到此管道中,这些日志将打印到日志文件中。请求和响应也通过此中间件进行日志记录。它在 Express 应用程序中非常有用。设置中间件很容易,可以在任何使用的框架中完成。

配置中间件的文件

应用程序

const app = express()
const logMiddleware = require('my-logging-middleware')
app.use(logMiddleware)

路由器

const router = express.Router()
const routeLoggingMiddleware = require('my-route-logging-middleware')
router.use(routeLoggingMiddleware)

错误

const app = express();
const errorLoggingMiddleware = require('my-error-logging-middleware')
app.use(errorLoggingMiddleware)

Winston 包

您还可以使用 winston 包进行日志记录。它还提供不同的日志级别、查询以及分析器。

应用程序

const app = express()
const winstonPackage = require('winston')
const consoleTransport = new winstonPackage.transports.Console()
const myWinstonOptions = {
   transports: [consoleTransport]
}
const logger = new winstonPackage.createLogger(myWinstonOptions)

function logRequest(req, res, next) {
   logger.info(req.url)
   next()
}
app.use(logRequest)

function logError(err, req, res, next) {
   logger.error(err)
   next()
}
app.use(logError)

更新于:2021年5月20日

浏览量:336

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.