Java 日志組件,Apache Log4j 2.4.1 發布
Log4j 2 是Log4j的升級版,與之前的版本Log4j 1.x相比、有重大的改進,在修正了Logback固有的架構問題的同時,改進了許多Logback所具有的功能。
Log4j 2的特性以及改進有:
- API分離:Log4j將API與實現分離開來。開發人員現在可以很清楚地知道能夠使用哪些沒有兼容問題的類和方法,同時又允許通過自己實現來增強功能。
- 改進的性能:Log4j 2的性能在某些關鍵領域比Log4j 1.x更快,而且大多數情況下與Logback相當。更多的信息請參考性能。
- 多個API支持:Log4j 2提供最棒的性能的同時,還支持SLF4J和公共日志記錄API。
- 自動配置加載:像Logback一樣,一旦配置發生改變,Log4j 2可以自動載入這些更改后的配置信息,又與Logback不同,配置發生改變時不會丟失任何日志事件。
- 高級過濾功能:與Logback類似,Log4j 2可以支持基于上下文數據、標記,正則表達式以及日志事件中的其他組件的過濾。Log4j 2 能夠專門指定適用于所有的事件,無論這些事件在傳入Loggers之前還是正在傳給 appenders。另外,過濾器還可以與Loggers關聯起來。與Logback不同的是,Filter公共類可以用于任何情況。
- 插件架構:所有可以配置的組件都以Log4j插件的形式來定義。同樣地,不需要修改任何Log4j代碼就可以創建新的Appender、Layout、 Pattern Convert 等等。Log4j自動識別預定義的插件,如果在配置中引用到這些插件,Log4j就自動載入使用。
- 屬性支持:屬性可以在配置文件中引用,也可以直接替代或傳入潛在的組件,屬性在這些組件中能夠動態解析。屬性可以是配置文件,系統屬性,環境變量,線程上下文映射以及事件中的數據中定義的值。用戶可以通過增加自己的Lookup插件來定制自己的屬性。 </ul> Apache Log4j 2.4.1 發布,更新內容如下:
新特性: o LOG4J2-1129: Allow PatternLayout to select a pattern to use based on some selection criteria.o LOG4J2-1145: Add %equals to PatternLayout to test and replace patterns with strings. o LOG4J2-1147: Add %equalsIgnoreCase to PatternLayout to test and replace patterns with strings.
o LOG4J2-1146: Add %notEmpty to PatternLayout to avoid output of patterns where all variables are empty. o LOG4J2-1020: Add possibility to set shutdown timeout on AsyncAppender.
修復Bugs: o LOG4J2-1153: Fixed NullPointerException when only root logger is defined (and no named loggers) in configuration properties file. o LOG4J2-1140: Fixed bug where headers were not being written to first file with RollingFileAppender.
o LOG4J2-1149: Fixed bug where PatternLayout predefined date pattern with time zone always renders default date format. o LOG4J2-1050: Fixed Log4jLookup. o LOG4J2-1142: Fix potential memory leak in web applications by using a straight ThreadLocal field instead of subclassing ThreadLocal. o LOG4J2-1135: Compression on rollover was broken: log file was renamed to .zip but not compressed.
o LOG4J2-1127: log4j2.xml cannot be parsed on Oracle Weblogic 12c. o LOG4J2-1132: Do not use MongoDB driver 2.13.3 deprecated methods. o LOG4J2-1144: Add %markerSimpleName in pattern layout should evaluate to marker name (not toString()). o LOG4J2-1126: Web site corrections and updates.
變化: o LOG4J2-1151: Performance improvement: backport Java 8 fast ISO-8859-1 String to byte[] encoder to AbstractStringLayout. o LOG4J2-935: Performance improvement when converting Strings to byte[] arrays. o LOG4J2-1040: Update MongoDB driver from 2.13.3 to 3.0.4. o LOG4J2-1128: Reuse StringBuilder to improve performance for String-based layouts: CSV, GELF, HTML, RFC524, Syslog. o LOG4J2-1131: Update mongo-java-driver from 2.13.2 to 2.13.3. o LOG4J2-1138: Do not use Jackson deprecated methods. o LOG4J2-1139: Update Jackson from 2.6.1 to 2.6.2. o LOG4J2-1150: Update kafka-clients from 0.8.2.1 to 0.8.2.2.</pre>更多改進內容請看發行說明。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!