在Node.js中,可以使用第三方庫winston
或morgan
來自定義日志格式。這里以winston
為例,介紹如何在Ubuntu系統中自定義日志格式。
首先,確保已經安裝了Node.js和npm。如果沒有,請訪問Node.js官網下載并安裝。
在項目目錄中,使用以下命令安裝winston
:
npm install winston
創建一個名為logger.js
的文件,并在其中設置自定義日志格式。例如:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
winston.format.printf(({ timestamp, level, message }) => {
return `[${timestamp}] ${level.toUpperCase()}: ${message}`;
})
),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
new winston.transports.File({ filename: 'logs/combined.log' })
]
});
module.exports = logger;
在這個例子中,我們使用了winston.format.combine
來組合多個格式化選項。winston.format.timestamp
用于添加時間戳,winston.format.printf
用于自定義日志輸出格式。
在你的主要應用文件(如app.js
)中,引入并使用自定義的logger
:
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
運行你的應用:
node app.js
你將在控制臺和日志文件中看到自定義格式的日志輸出。
這只是一個簡單的例子,你可以根據需要調整日志級別、格式和傳輸方式。更多關于winston
的信息,請參考官方文檔。