最近使用log4j寫log時候發現網上的寫的都是千篇一律,寫的好的嘛不全,寫的全一點的嘛沒有一點格式,看着累。這裏把網上收集到的整理了一下,並且全部都在機器上測試成功了。這麼好的文檔估計沒有了吧?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | ################################################################################ #①配置根Logger,其語法爲: # #log4j.rootLogger = [level],appenderName,appenderName2,... #level是日誌記錄的優先級,分爲OFF,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,ALL ##Log4j建議只使用四個級別,優先級從低到高分別是DEBUG,INFO,WARN,ERROR #通過在這裏定義的級別,您可以控制到應用程序中相應級別的日誌信息的開關 #比如在這裏定義了INFO級別,則應用程序中所有DEBUG級別的日誌信息將不被打印出來 #appenderName就是指定日誌信息輸出到哪個地方。可同時指定多個輸出目的 ################################################################################ ################################################################################ #②配置日誌信息輸出目的地Appender,其語法爲: # #log4j.appender.appenderName = fully.qualified.name.of.appender.class #log4j.appender.appenderName.optionN = valueN # #Log4j提供的appender有以下幾種: #1)org.apache.log4j.ConsoleAppender(輸出到控制檯) #2)org.apache.log4j.FileAppender(輸出到文件) #3)org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件) #4)org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件) #5)org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方) # #1)ConsoleAppender選項屬性 # -Threshold = DEBUG:指定日誌消息的輸出最低層次 # -ImmediateFlush = TRUE:默認值是true,所有的消息都會被立即輸出 # -Target = System.err:默認值System.out,輸出到控制檯(err爲紅色,out爲黑色) # #2)FileAppender選項屬性 # -Threshold = INFO:指定日誌消息的輸出最低層次 # -ImmediateFlush = TRUE:默認值是true,所有的消息都會被立即輸出 # -File = C:\log4j.log:指定消息輸出到C:\log4j.log文件 # -Append = FALSE:默認值true,將消息追加到指定文件中,false指將消息覆蓋指定的文件內容 # -Encoding = UTF-8:可以指定文件編碼格式 # #3)DailyRollingFileAppender選項屬性 # -Threshold = WARN:指定日誌消息的輸出最低層次 # -ImmediateFlush = TRUE:默認值是true,所有的消息都會被立即輸出 # -File = C:\log4j.log:指定消息輸出到C:\log4j.log文件 # -Append = FALSE:默認值true,將消息追加到指定文件中,false指將消息覆蓋指定的文件內容 # -DatePattern='.'yyyy-ww:每週滾動一次文件,即每週產生一個新的文件。還可以按用以下參數: # '.'yyyy-MM:每月 # '.'yyyy-ww:每週 # '.'yyyy-MM-dd:每天 # '.'yyyy-MM-dd-a:每天兩次 # '.'yyyy-MM-dd-HH:每小時 # '.'yyyy-MM-dd-HH-mm:每分鐘 # -Encoding = UTF-8:可以指定文件編碼格式 # #4)RollingFileAppender選項屬性 # -Threshold = ERROR:指定日誌消息的輸出最低層次 # -ImmediateFlush = TRUE:默認值是true,所有的消息都會被立即輸出 # -File = C:/log4j.log:指定消息輸出到C:/log4j.log文件 # -Append = FALSE:默認值true,將消息追加到指定文件中,false指將消息覆蓋指定的文件內容 # -MaxFileSize = 100KB:後綴可以是KB,MB,GB.在日誌文件到達該大小時,將會自動滾動.如:log4j.log.1 # -MaxBackupIndex = 2:指定可以產生的滾動文件的最大數 # -Encoding = UTF-8:可以指定文件編碼格式 ################################################################################ ################################################################################ #③配置日誌信息的格式(佈局),其語法爲: # #log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class #log4j.appender.appenderName.layout.optionN = valueN # #Log4j提供的layout有以下幾種: #5)org.apache.log4j.HTMLLayout(以HTML表格形式佈局) #6)org.apache.log4j.PatternLayout(可以靈活地指定佈局模式) #7)org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串) #8)org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息) #9)org.apache.log4j.xml.XMLLayout(以XML形式佈局) # #5)HTMLLayout選項屬性 # -LocationInfo = TRUE:默認值false,輸出java文件名稱和行號 # -Title=Struts Log Message:默認值 Log4J Log Messages # #6)PatternLayout選項屬性 # -ConversionPattern = %m%n:格式化指定的消息(參數意思下面有) # #9)XMLLayout選項屬性 # -LocationInfo = TRUE:默認值false,輸出java文件名稱和行號 # #Log4J採用類似C語言中的printf函數的打印格式格式化日誌信息,打印參數如下: # %m 輸出代碼中指定的消息 # %p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL # %r 輸出自應用啓動到輸出該log信息耗費的毫秒數 # %c 輸出所屬的類目,通常就是所在類的全名 # %t 輸出產生該日誌事件的線程名 # %n 輸出一個回車換行符,Windows平臺爲“\r\n”,Unix平臺爲“\n” # %d 輸出日誌時間點的日期或時間,默認格式爲ISO8601,也可以在其後指定格式 # 如:%d{yyyy年MM月dd日 HH:mm:ss,SSS},輸出類似:2012年01月05日 22:10:28,921
©著作權歸作者所有:來自51CTO博客作者編程魔法師的原創作品,如需轉載,請註明出處,否則將追究法律責任
0 收藏 推薦專欄更多猜你喜歡
1001. 溫度轉換
第二章 第六節 順序結構實例
Java之final關鍵字解析
神奇的SQL之層級 →爲什麼 GROUP BY 之後不能直接引用原表中的列
平時碰到系統CPU飆高和頻繁GC,你會怎麼排查?
Java 堆外內存回收原理
應用集成mycat,實現mycat的高可用與mysql的讀寫分離
Java 創建、填充PDF表單域
從響應式編程談到"好萊塢"
面試前必須要知道的21道Redis面試題
沒想到Spring Boot居然這麼耗內存,有點驚訝
十分鐘完成 spring 核心概念掃盲
MySQL 性能調優技巧
如何設計抗住100億次請求的搶紅包系統?(附GitHub代碼)
代碼審查Collaborator的單點登錄——通過Java Servlet配置單點登錄
一個天天用消息隊列的人,不知道爲啥用 MQ,這就有點尷尬
海量數據的分頁怎麼破
面試官:來談談限流-RateLimiter源碼分析
深入淺出 Java 虛擬機 是你通往高級 Java 開發的必經之路
Springboot — 用更優雅的方式發HTTP請求(RestTemplate詳解)
掃一掃,領取大禮包 |
Ctrl+Enter 發佈
發佈
取消