1、建立log4.js文件,保存日誌到log文件,並在控制檯輸出,若是不控制檯輸出,把刪除紅色的代碼express
const log4js = require('log4js'), path = require('path') log4js.configure({ replaceConsole: true, appenders: { stdout: {//控制檯輸出 type: 'console' }, trace: { type: 'dateFile', filename: 'logs/tracelog/', pattern: 'trace-yyyy-MM-dd.log', alwaysIncludePattern: true }, debug: { type: 'dateFile', filename: 'logs/debuglog/', pattern: 'debug-yyyy-MM-dd.log', alwaysIncludePattern: true }, info: { type: 'dateFile', filename: 'logs/infolog/', pattern: 'info-yyyy-MM-dd.log', alwaysIncludePattern: true }, warn: { type: 'dateFile', filename: 'logs/warnlog/', pattern: 'warn-yyyy-MM-dd.log', alwaysIncludePattern: true }, error: { type: 'dateFile', filename: 'logs/errorlog/', pattern: 'error-yyyy-MM-dd.log', alwaysIncludePattern: true }, fatal: { type: 'dateFile', filename: 'logs/fatallog/', pattern: 'fatal-yyyy-MM-dd.log', alwaysIncludePattern: true }, }, categories: { trace: { appenders: ['stdout', 'trace'], level: 'trace' },//appenders:採用的appender,取appenders項,level:設置級別 debug: { appenders: ['stdout', 'debug'], level: 'debug' }, default: { appenders: ['stdout', 'info'], level: 'info' }, warn: { appenders: ['stdout', 'warn'], level: 'warn' }, error: { appenders: ['stdout', 'error'], level: 'error' }, fatal: { appenders: ['stdout', 'fatal'], level: 'fatal' }, } }) exports.getLogger = function (name) {//name取categories項 return log4js.getLogger(name || 'info') } exports.useLogger = function (app, logger) {//用來與express結合 app.use(log4js.connectLogger(logger || log4js.getLogger('info'), { format: '[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]'//自定義輸出格式 })) }
2、引用log4.js調用app
const log4js = require("../log4js/log4Builder"), logger = log4js.getLogger("info") logger.info("如今時間:",new Date().toLocaleString()) logger.trace("如今時間:",new Date().toLocaleString()) logger.debug("如今時間:",new Date().toLocaleString()) logger.info("如今時間:",new Date().toLocaleString()) logger.warn("如今時間:",new Date().toLocaleString()) logger.error("如今時間:",new Date().toLocaleString()) logger.fatal("如今時間:",new Date().toLocaleString())