在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
现在,你应该能在控制台和日志文件中看到自定义格式的日志输出。
注意:这个示例是在Node.js环境中运行的,与操作系统(如Ubuntu)无关。只要你的系统上安装了Node.js和npm,这个示例应该可以在任何系统上运行。