📜  登录 Node.js

📅  最后修改于: 2022-05-13 01:56:48.464000             🧑  作者: Mango

登录 Node.js

Node.js 是一个 JavaScript 运行时,它建立在 Chrome 的 V8 JavaScript 引擎之上,它的运行时环境包括我们想要执行用 JavaScript 编写的程序的所有内容。日志记录是了解 Node.js 程序的完整应用程序生命周期的重要组成部分。从开始调试到添加新功能,日志通过分析数据提供支持,我们可以通过在错误发生时立即发现错误来更轻松、更快速地解决错误。 Node.js 中有常见的日志记录级别:错误、警告、信息、调试。日志记录涉及以更持久的方式记录有关应用程序运行时行为的信息。

Node.js 的登录方式有以下几种:

console.log:最初的日志记录方法是 console.log,它是一个在调试控制台上写入消息以登录的函数,但是您几乎无法控制从代码外部记录日志的位置。

句法:

console.log(level, message)

调试模块:使用调试的好处是很多包都使用它。当您的后端收到 Internet 请求时,您可以打开它以获取有关 Express 和 Koa 等 Web 中间件中正在发生的事情的更多信息。好的框架将为您提供如何附加日志中间件,但您可能不会也收到所有的小字。

中间件中间件只是您将放入请求管道的东西。设置日志中间件的方法:

  • 应用:
    Javascript
    const app = express()
    const loggingMiddleware = require('my-logging-middleware')
    app.use(loggingMiddleware)


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


    Javascript
    const app = express()
    const winston = require('winston')
    const consoleTransport = new winston.transports.Console()
    const myWinstonOptions = {
        transports: [consoleTransport]
    }
    const logger = new winston.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)


  • 路由器:

    Javascript

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

Winston 包: Winston 包括存储选项、不同的日志级别和查询以及分析器。

Javascript

const app = express()
const winston = require('winston')
const consoleTransport = new winston.transports.Console()
const myWinstonOptions = {
    transports: [consoleTransport]
}
const logger = new winston.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)