• <cite id="7326f"></cite>
    <sub id="7326f"></sub>

  • <legend id="7326f"></legend>
    <thead id="7326f"></thead>

  • 午夜免费福利小电影,日韩精品亚洲专在线电影,最新偷拍一区二区三区,国产精品多p对白交换绿帽,澳门永久av免费网站,亚洲国产日韩a在线播放,亚洲国产精品高清线久久,日日噜噜夜夜狠狠视频

    如何用log4j輸出多個自定義日志文件

    時間:2021-04-13 15:08:18 日志日記

    如何用log4j輸出多個自定義日志文件

      log4j輸出多個自定義日志文件

    如何用log4j輸出多個自定義日志文件

      如果在實際應用中需要輸出獨立的日志文件,怎樣才能把所需的內容從原有日志中分離,形成單獨的日志文件呢?

      先看一個常見的log4j.properties文件,它是在控制臺和test.log文件中記錄日志:

      復制代碼 代碼如下:

      log4j.rootLogger=DEBUG, stdout, logfile

      log4j.appender.stdout=org.apache.log4j.ConsoleAppender

      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

      log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

      log4j.appender.logfile=org.apache.log4j.RollingFileAppender

      log4j.appender.logfile.File=log/test.log

      log4j.appender.logfile.MaxFileSize=128MB

      log4j.appender.logfile.MaxBackupIndex=3

      log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

      log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

      如果在同一類中需要輸出多個日志文件呢?其實道理是一樣的,先在Test.java中定義:

      復制代碼 代碼如下:

      private static Log logger1 = LogFactory.getLog("mylogger1");

      private static Log logger2 = LogFactory.getLog("mylogger2");

      log4j.properties中配置如下:

      復制代碼 代碼如下:

      log4j.logger.mylogger1=DEBUG,test1

      log4j.appender.test1=org.apache.log4j.FileAppender

      log4j.appender.test1.File=log/test1.log

      log4j.appender.test1.layout=org.apache.log4j.PatternLayout

      log4j.appender.test1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

      log4j.logger.mylogger2=DEBUG,test2

      log4j.appender.test2=org.apache.log4j.FileAppender

      log4j.appender.test2.File=log/test2.log

      log4j.appender.test2.layout=org.apache.log4j.PatternLayout

      log4j.appender.test2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

      不同日志要使用不同的logger(如輸出到test1.log的要用logger1.info("abc"))。

      還有一個問題,就是這些自定義的日志默認是同時輸出到log4j.rootLogger所配置的日志中的,如何能只讓它們輸出到自己指定的日志中呢?別急,這里有個開關:

      log4j.additivity. mylogger1 = false

      它用來設置是否同時輸出到log4j.rootLogger所配置的日志中,設為false就不會輸出到其它地方了。

      但是這種方式有個小缺陷,那就是打印的`日志中類名只能是mylogger或者mylogger2。

      2 動態配置路徑

      若程序需要的日志路徑需要不斷的變化,而又不可能每次都去改配置文件,此時可以利用環境變量來解決。

      log4j的配置如下:

      復制代碼 代碼如下:

      log4j.rootLogger=DEBUG,INFOLOG,DEBUGLOG

      #info log

      log4j.appender.INFOLOG =org.apache.log4j.DailyRollingFileAppender

      log4j.appender.INFOLOG.File= ${log.dir}/${log.info.file}

      log4j.appender.INFOLOG.DatePattern=.yyyy-MM-dd

      log4j.appender.INFOLOG.Threshold=INFO

      log4j.appender.INFOLOG.layout=org.apache.log4j.PatternLayout

      log4j.appender.INFOLOG.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

      #debug log

      log4j.appender.DEBUGLOG =org.apache.log4j.RollingFileAppender

      log4j.appender.DEBUGLOG.File= ${log.dir}/${log.debug.file}

      log4j.appender.DEBUGLOG.Threshold=DEBUG

      log4j.appender.DEBUGLOG.MaxFileSize=128MB

      log4j.appender.DEBUGLOG.MaxBackupIndex=3

      log4j.appender.DEBUGLOG.layout=org.apache.log4j.PatternLayout

      log4j.appender.DEBUGLOG.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c.%M(%L) - %m%n

      此時,在使用log打印日志之前,需要利用System定義日志的輸出路徑和文件名的環境變量:

      復制代碼 代碼如下:

      System.setProperty(“log.dir”, logDir);

      System.setProperty(“log.info.file”, infoLogFileName);

      System.setProperty(“log.debug.file”, debugLogFileName);

      附:Pattern參數的格式含義

      %c 輸出日志信息所屬的類的全名

      %d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出類似:2013-8-19- 22:10:28

      %f 輸出日志信息所屬的類的類名

      %l 輸出日志事件的發生位置,即輸出日志信息的語句處于它所在的類的第幾行

      %m 輸出代碼中指定的信息,如log(message)中的message

      %n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”

      %p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推

      %r 輸出自應用啟動到輸出該日志信息所耗費的毫秒數

      %t 輸出產生該日志事件的線程名

      

    【如何用log4j輸出多個自定義日志文件】相關文章:

    關于將文件夾下所有文件輸出到日志文件中的方法06-23

    MySQL日志文件的概述06-23

    如何用信紙寫日志06-24

    男人如書-日志07-01

    鮮血如紅唇日志04-16

    燦爛如陽日志04-15

    生活如熬粥的日志06-23

    世事如棋日志04-16

    靜如秋葉日志04-17

    主站蜘蛛池模板: 婷婷激情综合| 无遮高潮国产免费观看韩国 | 国产成人露脸自拍视频| 波多野结衣高清一区二区三区| 国产精品久久久久影院亚瑟| 亚洲精品日韩在线观看| 一区二区三区无码视频免费福利| 免费不卡无码av在线观看| 玖草在线| 精品国产成人a在线观看| 蜜臀av一区二区三区日韩| 亚洲一区二区三区含羞草| www.黄色视频| 一级成人欧美一区在线观看 | 国产清纯在线一区二区| 四虎成人精品永久免费av| 色婷婷粉嫩Av| 国产精品亚洲二区在线播放 | 91久久国产成人免费观看| 亚洲精品尤物av在线网站| 亚洲AV乱码毛片在线播放| 激情人妻中出中文字幕一区| 欧洲无码一区二区三区在线观看| 日韩精品一区二区三区中文无码| 丰满人妻一区二区三区在线视频53| 欧美视频你懂的| 奶头又大又白喷奶水av| 成A人片亚洲日本久久| 超碰666| 上司人妻互换hd无码| 99精品无码一区二区| 特级做a爰片毛片免费看无码| 亚洲VA久久久噜噜噜久久无码| 亚洲精品日韩在线观看| 91久久精品视频| 亚洲成av人在线观看网站| 538任你躁在线精品免费| 日韩精品一区二区三区乱码| 亚洲一区二区三区四区| 爱色精品视频一区二区| a片网|