国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

log4j,logger,log,java,日志

2019-11-15 00:04:11
字體:
供稿:網(wǎng)友
log4j,logger,log,java,日志

log4j 詳解  Log4J的配置文件(Configuration File)就是用來設(shè)置記錄器的級(jí)別、存放器和布局的,它可接key=value格式的設(shè)置或xml格式的設(shè)置信息。通過配置,可以創(chuàng)建出Log4J的運(yùn)行環(huán)境。  log4j.PRoperties ==> src同級(jí)創(chuàng)建并設(shè)置log4j.properties  -----------------------   log4j.rootLogger = 日志級(jí)別,appender1, appender2,...

    日志級(jí)別:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF,不區(qū)分大小寫

    注意,需在控制臺(tái)輸入,只需將其中一個(gè)appender定義為stdout即可     注意,rootLogger默認(rèn)是對(duì)整個(gè)工程生效     注意,如果只想對(duì)某些包操作,那么:log4j.logger.hsy.utils = info, stdout,表示該日志對(duì)package hsy.util生效    注意,這樣做可以區(qū)分dev/線上,也可以減小性能影響:if(log.isDebugEnabled()){log.debug();}

    -----------------------

    log4j.appender.appender1 = org.apache.log4j.日志輸出到哪兒      ConsoleAppender(控制臺(tái))      FileAppender(文件)      DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件)      RollingFileAppender(文件大小到達(dá)指定尺寸時(shí)產(chǎn)生一個(gè)新的文件)      WriteAppender(將日志信息以流格式發(fā)送到任意指定的地方)      JDBCAppender(將日志信息保存到數(shù)據(jù)庫中)      log4j.appender.appender1.File=文件目錄及文件

    ${user.home}/logs/...

    log4j.appender.appender1.MaxFileSize=最大文件大小    log4j.appender.appender1.MaxBackupIndex=備份文件個(gè)數(shù)

    其中,appender1是在第一行定義過的;     文件目錄及文件,例如,/home/admin/logs/jar/debug.log     最大文件大小,例如,100KB     備份文件個(gè)數(shù),例如,1

    -----------------     log4j.appender.ServerDailyRollingFile.DatePattern=日志后綴格式    例如,'.'yyyy-MM-dd      log4j.appender.appender1.layout=org.apache.log4j.日志布局格式      HTMLLayout(以HTML表格形式布局)      SimpleLayout(包含日志信息的級(jí)別和信息字符串)      TTCCLayout(包含日志產(chǎn)生的時(shí)間,執(zhí)行緒,類別等信息)      PatternLayout(可以靈活的指定布局格式,常用)    ------------------    log4j.appender.appender1.layout.ConversionPattern=日志輸出格式    打印參數(shù): Log4J采用類似C語言中的printf函數(shù)的打印格式格式化日志信息,如下:    例如,%d{yyyy-MM-dd HH:mm:ss SSS} %t %5p %l - %m%n      %c 輸出日志信息所屬的類的全名      %d 輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyy-M-dd HH:mm:ss SSS},輸出類似:2002-10-18 22:10:28,673      %f 輸出日志信息所屬的類的類名      %l 輸出日志事件的發(fā)生位置,即輸出日志信息的語句處于它所在的類的第幾行      %m 輸出代碼中指定的信息,如log(message)中的message      %n 輸出一個(gè)回車換行符,Windows平臺(tái)為“rn”,Unix平臺(tái)為“n”      %p 輸出優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL。如果是調(diào)用debug()輸出的,則為DEBUG,依此類推      %r 輸出自應(yīng)用啟動(dòng)到輸出該日志信息所耗費(fèi)的毫秒數(shù)      %t 輸出產(chǎn)生該日志事件的線程名      -----------------      log4j.appender.ServerDailyRollingFile.Append=true      不解釋,追加往后寫便是      總結(jié)一下:        Logger類:完成日志記錄,設(shè)置日志信息級(jí)別        Appender類:決定日志去向,終端、DB、硬盤        Layout類:決定日志輸出的樣式,例如包含當(dāng)前線程、行號(hào)、時(shí)間        ------------------        在代碼中使用log4j,初始化Logger:           1)在程序中調(diào)用BasicConfigurator.configure()方法:給根記錄器增加一個(gè)ConsoleAppender,輸出格式通過PatternLayout設(shè)為"%-4r [%t] %-5p %c %x - %m%n",還有根記錄器的默認(rèn)級(jí)別是Level.DEBUG.           2)配置放在文件里,通過命令行參數(shù)傳遞文件名字,通過PropertyConfigurator.configure(args[x])解析并配置;          3)配置放在文件里,通過環(huán)境變量傳遞文件名等信息,利用log4j默認(rèn)的初始化過程解析并配置;          4)配置放在文件里,通過應(yīng)用服務(wù)器配置傳遞文件名等信息,利用一個(gè)特殊的servlet來完成配置。        --------------------------------------------------------------------------        3. 為不同的 Appender 設(shè)置日志輸出級(jí)別:          當(dāng)調(diào)試系統(tǒng)時(shí),我們往往注意的只是異常級(jí)別的日志輸出,但是通常所有級(jí)別的輸出都是放在一個(gè)文件里的,如果日志輸出的級(jí)別是BUG!?那就慢慢去找吧。          這時(shí)我們也許會(huì)想要是能把異常信息單獨(dú)輸出到一個(gè)文件里該多好啊。當(dāng)然可以,Log4j已經(jīng)提供了這樣的功能,我們只需要在配置中修改Appender的Threshold 就能實(shí)現(xiàn),比如下面的例子:

        [配置文件]           ### set log levels ###          log4j.rootLogger = debug , stdout , D , E

          ### 輸出到控制臺(tái) ###          log4j.appender.stdout = org.apache.log4j.ConsoleAppender          log4j.appender.stdout.Target = System.out          log4j.appender.stdout.layout = org.apache.log4j.PatternLayout          log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

          ### 輸出到日志文件 ###          log4j.appender.D = org.apache.log4j.DailyRollingFileAppender          log4j.appender.D.File = logs/log.log          log4j.appender.D.Append = true          log4j.appender.D.Threshold = DEBUG ## 輸出DEBUG級(jí)別以上的日志          log4j.appender.D.layout = org.apache.log4j.PatternLayout          log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

          ### 保存異常信息到單獨(dú)文件 ###          log4j.appender.D = org.apache.log4j.DailyRollingFileAppender          log4j.appender.D.File = logs/error.log ## 異常日志文件名          log4j.appender.D.Append = true          log4j.appender.D.Threshold = ERROR ## 只輸出ERROR級(jí)別以上的日志!!!          log4j.appender.D.layout = org.apache.log4j.PatternLayout          log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

          [代碼中使用]           public class TestLog4j {             public static void main(String[] args) {               PropertyConfigurator.configure( " D:/Code/conf/log4j.properties " );               Logger logger = Logger.getLogger(TestLog4j. class );              logger.debug( " debug " );              logger.error( " error " );            }          }      -----------------------------------------------------------------------------------      public class Test {        private static Logger logger = Logger.getLogger(Test.class);         public static void main(String[] args) {           // System.out.println("This is println message.");

          // 記錄debug級(jí)別的信息           logger.debug("This is debug message.");           // 記錄info級(jí)別的信息           ogger.info("This is info message.");           // 記錄error級(jí)別的信息           logger.error("This is error message.");         }       }    -----------------------------------------------------------------------------    最后粘上本人用的測試log4j的配置文件內(nèi)容,僅供參考。希望對(duì)您有所幫助      log4j.rootLogger=INFO, stdout, file

      log4j.appender.stdout=org.apache.log4j.ConsoleAppender      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout      log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} %t %5p %l - %m%n

      log4j.appender.file=org.apache.log4j.DailyRollingFileAppender      log4j.appender.file.Threshold=debug      log4j.appender.file.layout=org.apache.log4j.PatternLayout      log4j.appender.file.layout.ConversionPattern= %d{yyyy-MM-dd HH:mm:ss SSS} %t %5p %l - %m%n      log4j.appender.file.File=D:/others/logs/jar/debug.log      #log4j.appender.file.File=/home/test_zzs_dzfp/logs/zzssl/zzssl.log      log4j.appender.file.MaxFileSize=200MB      log4j.appender.file.MaxBackupIndex=20

      #project defalult level      #log4j.logger.hsy.utils=INFO


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宿迁市| 黎川县| 莆田市| 商南县| 潢川县| 平乐县| 广宁县| 盐津县| 新民市| 科尔| 石家庄市| 旬阳县| 宜宾市| 临泽县| 临夏市| 同德县| 宁海县| 红安县| 镇江市| 彩票| 梧州市| 育儿| 鹿泉市| 滨州市| 河池市| 仁化县| 荃湾区| 鹤山市| 娱乐| 大名县| 晋中市| 镇赉县| 禄丰县| 伊春市| 确山县| 霍林郭勒市| 邵阳市| 台南市| 武夷山市| 独山县| 余姚市|