日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

log4js

發布時間:2023/12/15 综合教程 21 生活家
生活随笔 收集整理的這篇文章主要介紹了 log4js 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一篇足夠:轉載:http://www.cnblogs.com/Joans/p/4092293.html

代碼貼出來吧:

log.js

var log4js = require('log4js');
log4js.configure({
    appenders: [
        {
            type: 'console',
            category: "console"
        }, //控制臺輸出
        {
            type: "dateFile",
            filename: 'logs/log.log',
            pattern: "_yyyy-MM-dd",
            alwaysIncludePattern: false,
            category: 'dateFileLog'
        },
        {
            type: "dateFile",
            filename: 'logs/sqllog.log',
            pattern: "_yyyy-MM-dd",
            alwaysIncludePattern: false,
            category: 'sqlFileLog'
        },
        {
            type: 'file',
            filename: 'logs/soldier.log',
            category: 'soldierLog'
        }
    ],
    replaceConsole: true,   //替換console.log
    levels: {
        dateFileLog: 'INFO',
        sqlFileLog: 'INFO',
        soldierLog: 'ERROR'
    }
});

var dateFileLog = log4js.getLogger('dateFileLog');
var soldierLog = log4js.getLogger('soldierLog');
var sqlFile = log4js.getLogger('sqlFileLog');


//exports.logger = dateFileLog;

exports.use = function (app) {
    //頁面請求日志,用auto的話,默認級別是WARN
    //app.use(log4js.connectLogger(dateFileLog, {level:'auto', format:':method :url'}));
    app.use(log4js.connectLogger(dateFileLog, {level: 'debug', format: ':method :url'}));
};

global.logger = dateFileLog;
global.sqlLogger = sqlFile;
global.soldierLog = soldierLog;

在express初始化時候:

var log = require('./log4');//引入Log4js

log.use(app);//app為express的對象

雖然設置的debug模式,但是只有info以上的可以打出來,info也可以

其中type的格式有file 還有datefile之類的。

log4js的輸出級別6個: trace, debug, info, warn, error, fatal

logger.trace(‘Entering cheese testing’);
logger.debug(‘Got cheese.’);
logger.info(‘Cheese is Gouda.’);
logger.warn(‘Cheese is quite smelly.’);
logger.error(‘Cheese is too ripe!’);
logger.fatal(‘Cheese was breeding ground for listeria.’);

如果輸出級別是INFO,則不會打印出低于info級別的日志trace,debug,只打印info,warn,error,fatal。這樣做 的好處在于,在生產環境中我們可能只關心異常和錯誤,并不關心調試信息。從而大大減少日志的輸出,能減少磁盤寫入。而在開發環境中,我們可以需要打印非常 多的信息,幫助開發人員定位錯誤,調試代碼。

還有一個好處就是,代碼中可以混有各種的日志打印代碼。我們只要在一個配置文件中,修改輸出級別,日志輸出就會發生變化,不用修改所有的代碼。如果所有地方都是console.log(),那么上線的時候,改動這個東西就要花很多時間。

總結

以上是生活随笔為你收集整理的log4js的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。