亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

nodejs log4js 使用詳解

2024-05-06 16:51:42
字體:
來源:轉載
供稿:網友

本文章針對 log4js v4.3

本文對自己用log4js的技術點簡單的做一個記錄,有一些技術點沒有用到或者寫全,會在后面用到的時候進行更新。

先大概的對log4js 的基本用法做一個總結,使用configure()方法對日志輸出進行配置,使用 getlogger()方法獲取logger對象,然后使用logger 對象進行打印各個級別的日志。其中比較復雜的是 configure()方法中的配置對象appenders 和 categories 下面重點講解這兩個對象

安裝

npm install --save log4js

日志級別level

log4js的分為以下幾個級別,級別的順序也是按如下排列,logger只會打印大于等于logger對象設置的level的日志。

  • trace
  • debug
  • info
  • warn
  • error
  • fatal

簡單的用法

var log4js = require('log4js');var logger = log4js.getLogger();logger.level = 'debug';logger.debug("Some debug messages");

getLogger()方法返回一個logger對象,想對日志進行記錄就必須使用logger對象,將logger對象的 level設置為debug(默認為OFF不會輸出任何日志)

在node 環境運行上面的代碼之后發現在控制臺打印出了對應的日志信息,但是這跟我想要的完全不一樣,我想要的是根據我自己的想法將日志進行分類方便查找和統計。接下來我們就看如何對日志進行分類。

configure(string | object) 方法

通過調用configure 方法就可以實現我們對日志進行分類管理的目的。方法的參數可以是一個字符串或者是一個object 字符串參數被視為用于加載配置的文件名,配置文件是一個json 文件,也可以直接將配置對象傳給configure。

配置對象

本次只對配置對象中最常用的appenders 和categories 進行介紹,還有部分屬性暫時還沒有用到等用到的時候在進行補充,如果平常用的話這兩個屬性應該就夠了。

簡單的總結一下這兩個屬性,先有一個概念性的認識了解一下他們分別是干什么的。

appenders 主要是用來定義以怎樣的方式輸出,輸出到哪里(主要功能不僅限于)

categories 是用來定義日志輸出的規則然后調用之前定義好的 appenders 進行輸出

寫一個簡單的例子方便理解一下

const log4js = require('log4js');log4js.configure({ appenders: {  out: { type: 'stdout' },  app: { type: 'file', filename: 'application.log' } }, categories: {  default: { appenders: [ 'out', 'app' ], level: 'debug' } }});var logger = log4js.getLogger();logger.debug("Some debug messages");

運行上的代碼將會創建application.log 文件在項目目錄下,同時會把日志打到控制臺和 application.log文件中.
上面定義了兩個appender 一個是輸出到 stdout 一個是輸出到 file ,可以看出appender主要使用來定義輸出位置的
同時在categories 中定義了一個規則,調用了appender中定義的輸出,并且輸出級別為 debug

appenders

appenders 的是一個map, key 代表的是appender的名字是一個字符串,value里面有一個必選的屬性是type,根據type 的不同value 的格式也不一樣,下面我們說幾種常用的 type

file

file 日志將會輸出到指定的文件中。

例子

log4js.configure({ appenders: {  everything: { type: 'file', filename: 'all-the-logs.log' } }, categories: {  default: { appenders: [ 'everything' ], level: 'debug' } }});const logger = log4js.getLogger();logger.debug('I will be logged in all-the-logs.log');

常用配置屬性

1. type:'file' 
2. filename string 輸出文件的名字
3. maxLogSize integer日志文件的最大大?。ㄒ宰止潪閱挝唬?。如果未指定,則不會發生日志滾動。
4. backups日志滾動期間要保留的舊日志文件數默認為5
5. layout 默認是basic layout
6. keepFileExt boolean  默認為false 滾動日志文件時保留文件擴展名(file.log變為file.1.log而不是file.log.1)
7. compress 對滾動的日志文件進行壓縮

dateFile

dateFile 日志的滾動將根據配置的時間格式進行滾動而不是文件大小

例子

log4js.configure({ appenders: {  everything: { type: 'dateFile', filename: 'all-the-logs.log' } }, categories: {  default: { appenders: [ 'everything' ], level: 'debug' } }});

常用配置屬性

1. type:'dateFile'
2. filename string 輸出文件的名字
3. pattern(默認為.yyyy-MM-dd) - 用于確定何時滾動日志的模式。
4. layout 默認是basic layout
5. daysToKeep integer(默認為0) - 如果此值大于零,則在日志滾動期間將刪除早于該天數的文件。
6. keepFileExt (默認為false) - 在滾動日志文件時保留文件擴展名(file.log變為file.2017-05-30.log而不是file.log.2017-05-30
7. compress 對滾動的日志文件進行壓縮

categories

categories 也是一個map類型的數據,key是 category 的名字是一個字符串,value 是一個對象。

value 的常用屬性

  1. level 定義打印日志的級別
  2. appenders 定義打印的appender

getLogger([category]) 方法

getLogger 方法返回的是一個logger 對象,logger對象用來打印各個級別的日志。

getlogger 方法有一個可選參數category的名字,不寫的情況會使用 categories 中default 定義的規則進行打印,填寫之后會根據對應的 category定義的規則進行打印日志。

參考文檔 api 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产999| 国产有码在线一区二区视频| 日本一区二区三区四区视频| 日韩在线激情视频| 中文字幕欧美专区| 欧美丝袜一区二区| 日韩亚洲欧美中文在线| 久久久伊人欧美| 日韩电影大片中文字幕| 狠狠色狠狠色综合日日小说| 精品视频久久久| 中文字幕日韩综合av| 国产精品www色诱视频| 国产精品电影观看| 国产第一区电影| 97热精品视频官网| 国产精品羞羞答答| 欧美激情精品久久久久久大尺度| 欧美日韩精品二区| 国产精品69精品一区二区三区| 国模精品视频一区二区| 亚洲人成电影在线观看天堂色| 午夜精品久久久久久99热软件| 成人精品久久一区二区三区| 国产精品久久久久不卡| 欧美日韩国产丝袜另类| 久操成人在线视频| 亚洲欧美综合精品久久成人| 国产精品久久综合av爱欲tv| 国产精品成av人在线视午夜片| 亚洲香蕉成视频在线观看| 日韩亚洲国产中文字幕| 欧美成人精品三级在线观看| 国产精品亚洲视频在线观看| 欧美一级视频免费在线观看| 揄拍成人国产精品视频| 日本精品性网站在线观看| 九九综合九九综合| 国产精品中文字幕久久久| 韩国三级日本三级少妇99| 精品国产区一区二区三区在线观看| 日韩中文字幕国产精品| 精品一区二区三区四区| 91精品国产乱码久久久久久蜜臀| 亚洲综合国产精品| 国产精品黄页免费高清在线观看| 国产成人亚洲综合| 国产精品爽黄69天堂a| 久久久久久国产免费| 91深夜福利视频| 午夜精品一区二区三区av| 色在人av网站天堂精品| 欧美激情视频网址| 日韩精品免费在线| 国产精品美女主播| 精品精品国产国产自在线| 日韩成人在线网站| 亚洲欧洲一区二区三区久久| 国内精品国产三级国产在线专| www.日韩视频| 亚洲xxxx在线| 亚洲天堂成人在线| 国产成人福利夜色影视| 热re99久久精品国产66热| 91精品国产高清| 狠狠躁夜夜躁久久躁别揉| 欧美激情视频在线| 欧美日韩中文字幕日韩欧美| 91在线看www| 亚洲精品国产品国语在线| 深夜福利91大全| 国产精品网站大全| 久久免费少妇高潮久久精品99| 日本免费久久高清视频| 一区二区三区回区在观看免费视频| 亚洲第一网站男人都懂| 欧美性生交大片免费| 欧美成人在线影院| 欧美激情图片区| 最近中文字幕日韩精品| 国产精品久久久久久久久免费| 69影院欧美专区视频| 国产精品福利无圣光在线一区| 丁香五六月婷婷久久激情| 国产精品久久久久久久久久久新郎| 91精品免费视频| 日韩综合视频在线观看| 欧美性高潮床叫视频| 黑人巨大精品欧美一区免费视频| 欧美激情乱人伦一区| 欧美日韩不卡合集视频| 欧美激情在线一区| 色狠狠久久aa北条麻妃| 欧美在线亚洲在线| 日韩av网站大全| 国产亚洲精品久久久| 91高清视频在线免费观看| 日韩欧美中文第一页| 亚洲色图狂野欧美| 亚洲第一中文字幕| 国产精彩精品视频| 欧美丝袜美女中出在线| 亚洲欧美精品在线| 国产精品久久视频| 日本成人免费在线| 97碰碰碰免费色视频| 韩国三级电影久久久久久| 亚洲在线一区二区| 日韩电影大全免费观看2023年上| 欧美日韩综合视频| 久久综合伊人77777蜜臀| 亚洲成色999久久网站| 草民午夜欧美限制a级福利片| 亚洲精品中文字幕女同| 97久久伊人激情网| 在线观看日韩视频| 日韩免费观看视频| 日韩在线欧美在线| 欧美在线亚洲在线| 国产精品露脸自拍| 日本高清不卡的在线| 日韩精品久久久久久久玫瑰园| 97人人模人人爽人人喊中文字| 日韩久久免费视频| 69av视频在线播放| 欧美高清视频在线观看| 欧美日韩黄色大片| 久久国产精品电影| 亚洲日韩中文字幕在线播放| 国产ts人妖一区二区三区| 成人a级免费视频| 亚洲精品美女久久久久| 欧美日韩在线一区| 久久躁日日躁aaaaxxxx| 国产精品久久久久久久app| 欧美国产乱视频| 久久精品成人一区二区三区| 亚洲精品视频久久| 国产欧美精品在线| 久久夜色精品国产欧美乱| 日韩在线视频免费观看高清中文| 亚洲精品www| 国产精品一香蕉国产线看观看| 亚洲摸下面视频| 精品久久香蕉国产线看观看亚洲| 亚洲一区精品电影| 亚洲自拍偷拍福利| 欧美激情小视频| 日韩在线中文字幕| 亚洲成人999| 国产不卡av在线免费观看| 日韩电影免费在线观看中文字幕| 欧美高清视频免费观看| 日韩欧美国产激情| 国产精品中文在线| 久久久久久国产精品三级玉女聊斋| 国产精品极品尤物在线观看| 欧美劲爆第一页| 亚洲品质视频自拍网| 日韩精品在线私人| xxx一区二区| 亚洲美女性生活视频| 亚洲国产毛片完整版| 国产精品999999|