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)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP