使用log4js打印日志
不管在做任何开发的时候,打印日志都是很重要的功能。
在Node.js中,最普通的打日志的方式就是console.log。
如果要写到文件中,或者是要跟高级的log系统对接,我们就需要专门的模块,比如log4js。
标准输出
我们想要实现与console.log同样的功能,可以简单使用log4js.getLogger。
代码如下:
import {configure, getLogger} from "log4js";
const logger1 = getLogger();
logger1.level = 'debug';
logger1.debug('Hello,log4s!');
用javascript写的话代码如下:
const log4js = require("log4js");
const logger1 = log4js.getLogger();
logger1.level = 'debug';
logger1.debug('Hello,log4s!')
打印到文件中
下面我们来说明下高级用法,如何写到文件中。我们还希望根据时间将log分文件。指定输出的参数叫做Appender,我们使用dateFile型的Appender,指定文件名和时间类型,再给Appender起个名字,就可以了。代码如下:
import {configure, getLogger} from "log4js";
configure({
appenders: {
log_file: {
type: "dateFile",
filename: "log_file",
pattern: "yyyy-MM-dd.log",
alwaysIncludePattern: true,
},
},
categories: { default: { appenders: ["log_file"], level: "debug" } }
});
const logger = getLogger("log_file")
logger.info("Hello to file");
最终,log会被写到log_file.2019-05-31.log之类的文件名中。
js的写法大同小异:
const log4js = require("log4js");
log4js.configure({
appenders: {
log_file: {
type: "dateFile",
filename: "log_file",
pattern: "yyyy-MM-dd.log",
alwaysIncludePattern: true,
},
},
categories: { default: { appenders: ["log_file"], level: "debug" } }
});
const logger = log4js.getLogger("log_file");