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!
此版本现已提供下载:
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来访问日志的功能。