##安装log4js

npm install log4js --save --registry=https://registry.npm.taobao.org
//或者
yarn add log4js

##创建新文件Log4js.js

vi Log4js.js

##创建日志目录,并配置log4js

var log4js = require('log4js');
var fs = require('fs');
 
// 判断日志目录是否存在,不存在时创建日志目录  
function checkAndCreateDir(dir) {
    if (!fs.existsSync(dir)) {
        fs.mkdirSync(dir);
    }
}
checkAndCreateDir('logs');
 
log4js.configure({
    appenders: [{
        type: 'console',
        //category: 'consoleLog',
    }, {
        type: 'dateFile',
        filename: 'logs/log',
        pattern: '.yyyy-MM-dd.txt',
        alwaysIncludePattern: true,
        //category: 'dateFileLog'
    }],
    replaceConsole: true,
    // levels: {
    //     "consoleLog": "ALL",
    //     "dateFileLog": "ALL"
    // } // 设置记录器的默认显示级别,低于这个级别的日志,不会输出  
});


log4js.setGlobalLogLevel(log4js.levels.ALL);

exports.setLevel = function (level) {  
    log4js.setGlobalLogLevel(level || log4js.levels.ALL);
};

//如果在配置时,系统配置了category名称,这里的输入参数应该是category名称。输出的日志也在category对应的记录器中记录。
//如果没有category的配置,这里就可以随意输入了。且输出的日志在所有记录器中记录
exports.getLogger = function (file) {  
    return log4js.getLogger(file || 'dateFileLog');
};

// 配合express用的方法  
exports.use = function (app) {
    //页面请求日志, level用auto时,默认级别是WARN  
    app.use(log4js.connectLogger(logInfo, {
        level: 'debug',
        format: ':method :url'
    }));
};

引用创建的Log4js.js模块

var loger=require('./Log4js').getLogger(__filename);
loger.log('日志')
loger.trace('追踪')
loger.debug('调试信息')
loger.info('提示信息')
loger.warn('警告')
loger.error('错误')
loger.fatal('致命错误')

参考

http://www.voidcn.com/article/p-aoppsmig-xu.html
http://www.voidcn.com/article/p-ussimkaw-bc.html