在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.format.printf
中的模板字符串來自定義日志格式。