使用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");