登录 Node.js

日志记录是任何应用程序中非常重要的部分,无论它是用Node.js任何其他编程语言制作的。日志记录帮助我们检测应用程序的奇怪行为以及实时错误和异常。绝对应该将逻辑日志放在他们的应用程序中。这些日志可帮助用户识别任何错误并紧急解决。

目前用户有 5 个不同的日志级别。这些日志级别用于定义不同类型的日志并帮助用户识别不同的场景。必须仔细配置日志级别才能从这些日志中获得最佳交易 -

  • 错误

  • 警告

  • 信息

  • 冗长的

  • 调试

中间件

你可以把这个中间件放在请求管道中,这样你就可以直接使用调试模块的功能来打印日志。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 包进行日志记录。它还提供不同的日志级别、查询以及分析器。

应用

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)