Nodejs 使用 log4js 如何打出不同颜色的日志
Nodejs 使用 log4js 如何打出不同颜色的日志
如题,我想用不同颜色显示出打印内容
3 回复
Nodejs 使用 log4js 如何打出不同颜色的日志
在 Node.js 中使用 log4js
打印不同颜色的日志可以通过自定义 layout
和结合 chalk
库来实现。chalk
是一个非常流行的库,用于在终端中输出带有颜色和样式的文本。
步骤 1: 安装依赖包
首先,你需要安装 log4js
和 chalk
这两个库。你可以通过 npm 来安装它们:
npm install log4js chalk
步骤 2: 配置 log4js
接下来,我们需要配置 log4js
,以便我们可以使用自定义的格式化函数来添加颜色。以下是一个简单的配置示例:
const log4js = require('log4js');
const chalk = require('chalk');
// 自定义 layout 函数
function coloredLayout(layout) {
return function (loggingEvent, callback) {
const message = layout(loggingEvent, callback);
// 根据日志级别选择不同的颜色
switch (loggingEvent.level.levelStr) {
case 'DEBUG':
return chalk.cyan(message);
case 'INFO':
return chalk.green(message);
case 'WARN':
return chalk.yellow(message);
case 'ERROR':
return chalk.red(message);
default:
return message;
}
};
}
// 配置 log4js
log4js.configure({
appenders: {
console: { type: 'console', layout: { type: 'pattern', pattern: '%d{yyyy-MM-dd hh:mm:ss.SSS} [%p] %c - %m' } }
},
categories: { default: { appenders: ['console'], level: 'all' } }
});
// 使用自定义 layout
log4js.addLayout('coloredLayout', coloredLayout);
log4js.getLogger().level = 'debug';
const logger = log4js.getLogger();
logger.setLayout(log4js.layouts.coloredLayout);
module.exports = logger;
步骤 3: 使用日志记录器
现在,你可以在你的应用程序中使用这个日志记录器了:
const logger = require('./path/to/logger');
logger.debug("这是一条调试信息");
logger.info("这是一条普通信息");
logger.warn("这是一条警告信息");
logger.error("这是一条错误信息");
解释
- 我们首先创建了一个
coloredLayout
函数,它接收一个标准的layout
函数,并根据日志级别返回带有相应颜色的字符串。 - 然后我们配置了
log4js
,并使用了coloredLayout
。 - 最后,我们通过
logger.setLayout
设置了日志记录器的布局。
这样,当你运行你的应用时,你会看到带有不同颜色的日志输出。
要在 Node.js 中使用 log4js
打出不同颜色的日志,可以通过结合 log4js
和 colors
模块来实现。下面是一个简单的示例代码,展示如何配置 log4js
并输出不同颜色的日志。
首先,确保安装所需的依赖包:
npm install log4js colors
然后,你可以创建一个配置文件(例如 log4js-config.js
)来设置日志格式,并在日志消息中添加颜色。
示例代码
log4js-config.js
const log4js = require('log4js');
const colors = require('colors');
// 配置日志格式
log4js.configure({
appenders: {
out: { type: 'stdout', layout: { type: 'pattern', pattern: '%d{ISO8601} %5p %c - %m%n' } }
},
categories: {
default: { appenders: ['out'], level: 'all' }
}
});
const logger = log4js.getLogger();
// 定义带有颜色的日志函数
function coloredLog(level, message) {
switch (level) {
case 'info':
console.log(colors.green(message));
break;
case 'warn':
console.log(colors.yellow(message));
break;
case 'error':
console.log(colors.red(message));
break;
default:
logger[level](message);
}
}
// 使用 coloredLog 函数输出不同颜色的日志
logger.level = 'debug';
coloredLog('info', 'This is an info message');
coloredLog('warn', 'This is a warning message');
coloredLog('error', 'This is an error message');
解释
- 安装依赖:首先安装
log4js
和colors
。 - 配置 log4js:使用
log4js.configure
方法设置日志输出到控制台,并定义日志格式。 - 定义 coloredLog 函数:根据不同的日志级别,使用
colors
模块将日志消息染色。 - 调用 coloredLog 函数:通过
coloredLog
函数输出带有颜色的日志信息。
这样,你就可以在控制台上看到不同颜色的日志输出了。