十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)Express中l(wèi)og4js怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
入門例子
輸出日志如下,包括日志打印時(shí)間、日志級(jí)別、日志分類、日志內(nèi)容。
// started.js var log4js = require('log4js'); var logger = log4js.getLogger(); logger.debug('hello world'); // 輸出: // [2017-02-28 21:28:22.853] [DEBUG] [default] - hello world
日志級(jí)別
logger.setLevel('INFO'); 表示想要打印的最低級(jí)別的日志是 INFO ,也就是說,調(diào)用類似 logger.debug() 等級(jí)別低于 INFO 的接口,日志是不會(huì)打印出來的。
var log4js = require('log4js'); var logger = log4js.getLogger(); logger.setLevel('INFO'); logger.debug('level: debug'); logger.info('level: info'); logger.error('level: error'); // 輸出如下: // [2017-02-28 21:50:45.372] [INFO] [default] - level: info // [2017-02-28 21:50:45.376] [ERROR] [default] - level: error
日志類別
除級(jí)別外,還可以對(duì)日志進(jìn)行分類, log4js.getLogger(category) ,如下所示
var log4js = require('log4js'); var alogger = log4js.getLogger('category-a'); var blogger = log4js.getLogger('category-b'); alogger.info('hello'); blogger.info('hello'); // 輸出如下: // [2017-02-28 22:36:57.570] [INFO] category-a - hello // [2017-02-28 22:36:57.574] [INFO] category-b - hello
appenders
appenders指定日志輸出的位置,可以同時(shí)配置多個(gè),用category進(jìn)行區(qū)分。比如 log4js.getLogger('info') 應(yīng)用的就是 type 為 dateFile 的配置。
可以注意到, type 為 console 的配置沒有聲明 category ,因此,所有的日志都會(huì)打印到控制臺(tái)。
var log4js = require('log4js'); log4js.configure({ appenders: [ { type: 'console'}, { type: 'dateFile', filename: './logs/info.log', category: 'info' } ] }); var logger = log4js.getLogger('info'); logger.setLevel('INFO'); logger.trace('trace'); logger.debug('debug'); logger.info('info'); // 輸出如下: // [2017-02-28 22:51:30.723] [INFO] info - info
express應(yīng)用
一個(gè)比較簡(jiǎn)單的例子如下,日志全部打印到控制臺(tái)。
var express = require('express'); var log4js = require('log4js'); var app = express(); log4js.configure({ appenders: [ { type: 'console', category: 'app' } ] }); var logger = log4js.getLogger('app'); logger.setLevel('INFO'); // 級(jí)別 > INFO 的日志才會(huì)被打印 app.use( log4js.connectLogger(logger) ); app.use(function(req, res, next){ res.send('ok'); }); app.listen(3000);
訪問 http://127.0.0.1:3000 ,打印日志如下
[2017-03-01 00:28:29.301] [INFO] app - ::ffff:127.0.0.1 - - "GET / HTTP/1.1" 304 - "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
log4js.connectLogger(logger) 時(shí),可以聲明日志的級(jí)別。
// 級(jí)別 > INFO 的日志才會(huì)被打印 logger.setLevel('INFO'); // 日志的級(jí)別是 WARN app.use( log4js.connectLogger(logger, {level: 'WARN'}) );
注意,如果聲明的日志級(jí)別低于 logger.setLevel(level) 限定的級(jí)別,那么日志不會(huì)被打印,如下例子。
logger.setLevel('INFO'); app.use( log4js.connectLogger(logger, {level: 'DEBUG'}) );
關(guān)于“Express中l(wèi)og4js怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。