logback 1.1.3 发布,Java开源日志组件

cd33 10年前

logback 1.1.3 发布,Java开源日志组件

Logback是由log4j创始人设计的又一个开 源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。

logback 1.1.3 发布,此版本更新内容如下:

  • Fixed FileAppender's prudent mode so that it properly recovers from IO Errors (LOGBACK-1046)

  • Irrelevant or internal stack trace lines can now be omitted. (LOGBACK-540).

  • AccessEvent now creates a copy of request attributes when its prepareForDeferredProcessing() method is called.   (LOGBACK-1033)

  • All threads opened by ch.qos.logback.core.util.ExecutorServiceUtil#THREAD_FACTORY are now daemons, which fixes an application hang on shutdown when LoggerContext#stop()  is not called (LOGBACK-929).  

  • Fixed an issue with RollingFileAppender where the first rollover file could be unintentionally deleted, depending on the specified filename pattern (LOGBACK-894).

  • Fixed an issue with TeeHttpServletResponse where the system default encoding would be used instead of the  response encoding when constructing a new writer  (LOGBACK-1023).

  • Fixed ConfigurationDelegate.groovy to allow any appender    that implements AppenderAttachable, which supports third-party appenders, such as reactor-logback's AsyncAppender    (LOGBACK-1008)

  • Added support for specifying the callstack depth range in the PatternLayout. For example, %caller{1..2}    displays the first two calls in the callstack.

  • Added HTTP request method to MDCInsertingServletFilter.

  • Fixed time-zone dependent code in RollingCalendarTest.    (LOGBACK-116)

  • Simplified connection logic of SocketApender to reduce multi-threading    overhead and unnecessary instantiation of SocketConnector    objects.

  • Fixed race condition in SMTPAppenderBase causing missing or    duplicate emails.    (LOGBACK-909)

  • Fixed an issue with FileAppender in prudent mode, where    an interrupt could prevent further access to the file    (LOGBACK-875).

  • Fixed IllegalStateException when multiple threads    write files to same directory    (LOGBACK-128).

  • Changed queue consumption strategy in AbstractSocketAppender    from "take" to "peek/remove" in order to avoid losing an event on each socket    connection break. Zero is now a deprecated queue size. A queue size of one    should be taken instead to indicate synchronous processing.    (LOGBACK-977)

  • RequestLogImpl now has an overridable configure    method to allow extending implementations to configure it via methods    other than the logback-access.xml file.

  • Fixed a bug in AccessEvent which could cause any    AsyncAppender based appender to corrupt the request    headers, request parameters, or response headers, before logging.

  • SQL scripts to setup your logback database are now provided as    JAR resources    (LOGBACK-948).

  • Threads created internally by logback are now named    logback-n, where n is an integer. For the    first thread n is set to 1, for each successive thread    n is incremented by 1.

  • Added max runtime parameter to AsyncAppender to allow    the appender to flush events, up to a maximum delay, during a stop    of the LoggerContext. This can be used to ensure that all queued    events are flushed.

  • Added new configuration element shutdownHook to allow the    user to specify a ShutdownHook implementation that will stop the Logback    context upon JVM exit.

  • BasicStatusManager now prevents adding more than    one instance of OnConsoleStatusListener as a status    listener. This fixes LOGBACK-976.

  • TimeBasedRollingPolicy now accepts a time zone in    its %d conversion pattern. (LOGBACK-611)

  • It is now possible to configure the character encoding used by    SyslogAppender to encode messages using the    setCharset() method. This fixes LOGBACK-732    

请注意:

所有 logback 模块要求 JDK 1.6,而不是 JDK 1.5!

此版本现已提供下载:

来自:http://www.oschina.net/news/60972/logback-1-1-3