Node.js 中的日志记录

node.jsjavascriptweb developmentfront end technology

日志记录是任何应用程序中非常重要的一部分,无论是使用 Node.js 还是其他编程语言编写的。日志记录可帮助我们检测应用程序的异常行为以及实时错误和异常。应用程序必须包含逻辑日志。这些日志可帮助用户识别任何错误并紧急解决。

目前用户可以使用 5 种不同的日志级别。这些日志级别用于定义不同类型的日志,并帮助用户识别不同的场景。必须仔细配置日志级别,以便从这些日志中获得最佳效果 −

  • error

  • warn

  • info

  • verbose

  • 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)

相关文章