Apache Log4j 2.0-rc2 發布

火星人 @ 2014-06-26 , reply:0


Apache Log4j 2.0-rc2 發布,此版本更新內容如下:

新特性:
o LOG4J2-675:  RollingFile and RollingRandomAccessFile now write the layout footer before
rollover. 
o LOG4J2-674:  Made RollingFileAppender buffer size configurable. 
o LOG4J2-42:  Create an appender to route log events to the ServletContext log. 
o LOG4J2-655:  Add Vagrantfile for testing in GNU+Linux. 
o LOG4J2-654:  Add log4j-perf module to provide a home for all log4j performance tests.
       Add support for JMH microbenchmark performance tests. 
o LOG4J2-652:  Add support for default plugin values and attributes. 
o LOG4J2-598:  Add support for types other than String for plugin factory values/attributes.

o LOG4J2-644:  Implement a SecureSocketAppender and secure server (SSL/TLS). 
o LOG4J2-629:  Document the system properties used in Log4J 2. 
o LOG4J2-595:  Introduce Java annotation processor as alternative plugin pre-caching mechanism.
This is available in the
         log4j-plugin-processor module. 
o LOG4J2-576:  Add org.apache.logging.log4j.Logger.getLevel(). 
o LOG4J2-439:  Add EncodingPatternConverter to escape newlines and HTML special characters.
Thanks to Bruce Brouwer. 
o LOG4J2-427:  Add support for configuration via YAML. Thanks to Alexander Reelsen. 

Bug 修復:
o LOG4J2-581:  RollingRandomAccessFile now writes the layout header after rollover. Thanks
to Alexander Khokhlov. 
o LOG4J2-622:  RollingFileManager now correctly honours the bufferedIO configuration after
rollover. Thanks to Farooq Khan. 
o LOG4J2-141:  Improved documentation regarding log4j status logger. Thanks to Joern Huxhorn.

o LOG4J2-539:  Fixed issue with "Reconfigure using XML below" function in JMX Client GUI.
       ConfigurationSource is now a top-level class and can be obtained with Configuration.getConfigurationSource().
       LoggerContext.getConfiguration().getConfigurationSource() 
       provides a reliable public method for obtaining a logger context's configuration location
and content. Thanks to Colin Froggatt. 
o LOG4J2-619:  Invalid XML configuration files do not prevent the config file from being checked
again. Thanks to Scott Harrington. 
o LOG4J2-637:  JMX: Updating a Logger's level via jConsole now correctly takes effect. Thanks
to Mansoor Sajjad, Jon Wilmoth. 
o LOG4J2-668:  Correctly process log events when combining AsyncLoggers with AsyncAppender.

o LOG4J2-669:  Prevent NPE when combining AsyncLoggers with AsyncLoggerConfigs. 
o LOG4J2-563:  FlumeAvroManager now always uses a client type of default_failover. Thanks
to Michael Friedmann. 
o LOG4J2-535:  Reset rollover time when size rollover is triggered. 
o LOG4J2-664:  Moved plugin cache file to META-INF for OSGi compatibility. 
o LOG4J2-640:  Fix NPE that can be caused by a null ThreadContextClassLoader. 
o LOG4J2-651:  Log4j 2 throws ArrayIndexOutOfBoundsException. 
o LOG4J2-620:  Perform reconfiguration in a separate thread to prevent deadlocks. 
o LOG4J2-639:  Prevent NPE in AsyncLogger and AsyncLoggerConfig if logger is used after log4j
has been shut down. Thanks to Mck SembWever. 
o LOG4J2-469:  FailoverAppender was not resetting its status after the primary appender recovered.

o LOG4J2-623:  Generate MDC properties as a JSON map in JSONLayout. 
o LOG4J2-520:  Resolved issue where AsyncAppender dropped events if queue still contained
       events when application is stopped. Thanks to JavaTech, Andre Bogus. 
o LOG4J2-392:  Resolved a problem with the previous solution for LOG4J2-392 that resulted
in dropped events
       when using AsyncLoggerConfig with slow appenders when application is stopped. Thanks
to Andre Bogus. 
o LOG4J2-613:  The OSGi version of log4j-web imports Servlet 2.5 at minimum instead of 3.0.

o LOG4J2-602:  Unit tests are now less verbose during the build process. 
o LOG4J2-570:  Fix shutdown thread memory leak in servlet containers. 
o LOG4J2-542:  Make Throwable transient in ThrowableProxy. 
o LOG4J2-440:  During shutdown, a NullPointerException could be thrown due to the NullConfiguration
class no longer being
       available to the ClassLoader. 
o LOG4J2-346:  Cyclic dependency with log4j-slf4j-impl in OSGi. 
o LOG4J2-345:  The log4j-1.2-api module didn't export any packages to OSGi. 
o LOG4J2-605:  Password data from the NoSQL plugins no longer shows up in cleartext in debug
logging. 
o LOG4J2-448:  A StringIndexOutOfBounds exception could occur during property substitution.
Thanks to X86core. 
o LOG4J2-597:  StatusLogger was not skipping multiple instances of the FQCN class, causing
messages from classes in
       the Verbose list to be printed. 
o LOG4J2-564:  Renamed SLF4J logger class to Log4jLogger. 
o LOG4J2-579:  Rework Level comparison APIs. 
o LOG4J2-560:  SyslogAppenderTest and RFC5424LayoutTest were failing in Java 8. 
o LOG4J2-499:  Add equals and hashcode to Log4jLogEvent. 
o LOG4J2-378:  Add DateLookup and ThreadContextLookup to default lookups. 

系統改進:
o LOG4J2-419:  Support default value for missing key in look ups with fallbacking to looking
in the properties map. Thanks to Woonsan Ko. 
o LOG4J2-554:  Allow configuration files to be located as Servlet Context resources. 
o LOG4J2-250:  Refactor Log4jLogEvent to lazily create ThrowableProxy. 
o LOG4J2-647:  Upgrade to Flume 1.5.0. 
o LOG4J2-646:  Merge the TLS Syslog appender into the Syslog appender. 
o LOG4J2-641:  Override commons-logging dependency version in tests. 
o LOG4J2-566:  Made RollingRandomAccessFileAppender buffer size configurable. Thanks to Luigi
Alice. 
o LOG4J2-628:  Use Clock to generate all log event timestamps, not just for Async Loggers.

o LOG4J2-617:  Update SLF4J to 1.7.7. 
o LOG4J2-616:  Update Jackson to 2.3.3. 
o LOG4J2-585:  Add support for multiple parents to Markers. Thanks to Bruce Brouwer. 
o LOG4J2-574:  Make Blocking the default WaitStrategy for Async Loggers. 
o LOG4J2-555:  Introduce ExtendedLogger interface to facilitate implementing and extending
Loggers. Thanks to Bruce Brouwer. 
o LOG4J2-561:  Allow spaces around commas in Configuration's package attribute. Thanks to
vibin. 
o LOG4J2-547:  Have Logger API expose a PrintWriter instead of custom LoggerStream. Thanks
to Bruce Brouwer. 
o LOG4J2-496:  Allow header and footer to be specified as lookup patterns in PatternLayout.

o LOG4J2-410:  SLf4JLogger is now Serializable. Thanks to Ivlin Zeng. 
o LOG4J2-468:  Add support to add a LoggerConfig. Document two ways to modify the configuration.

o LOG4J2-582:  Rename org.apache.logging.log4j.core.net.SocketServer to TCPSocketServer and
refactor with UDP. 
o LOG4J2-592:  Update Jackson to 2.3.2 from 2.2.2. 

Log4j是Apache的一個開放源代碼項目,通過使用Log4j,我們可以控制日誌信息輸送的目的地是控制台、文件、GUI組件、甚至是套介面服務 器、NT的事件記錄器、UNIX Syslog守護進程等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌信息的級別,我們能夠更加細緻地控制日誌的生成過程。最令人感興趣的就 是,這些可以通過一個配置文件來靈活地進行配置,而不需要修改應用的代碼。




[火星人 via ] Apache Log4j 2.0-rc2 發布已經有170次圍觀

http://www.coctec.com/news/soft/show-post-204739.html