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 itsprepareForDeferredProcessing()
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 whenLoggerContext#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 implementsAppenderAttachable
, which supports third-party appenders, such as reactor-logback'sAsyncAppender
(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 overridableconfigure
method to allow extending implementations to configure it via methods other than thelogback-access.xml
file. -
Fixed a bug in
AccessEvent
which could cause anyAsyncAppender
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 ofOnConsoleStatusListener
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 thesetCharset()
method. This fixes LOGBACK-732
请注意:
所有 logback 模块要求 JDK 1.6,而不是 JDK 1.5!
此版本现已提供下载:
来自:http://www.oschina.net/news/60972/logback-1-1-3