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)