<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<document xmlns="http://maven.apache.org/changes/1.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> | |
<properties> | |
<title>Changes</title> | |
</properties> | |
<body> | |
<!-- NOTE: the text node in an action element is interpreted as Markdown in the release notes! --> | |
<!-- The "type" attribute can have the following values: | |
- "add" - New Feature | |
- "fix" - Fixed Bug | |
- "update" - Change | |
- "remove" - Removed | |
--> | |
<release version="2.12.0" date="2019-06-23" description="GA Release 2.12.0"> | |
<action issue="LOG4J2-2547" dev="rgoers" type="fix"> | |
RollingRandomAccessFileAppender error message referenced incorrect class name. | |
</action> | |
<action issue="LOG4J2-2616" dev="rgoers" type="fix"> | |
Restore constructor to ThrowablePatternConverter that was removed in 2.8.2. | |
</action> | |
<action issue="LOG4J2-2622" dev="rgoers" type="fix"> | |
StructuredDataId was ignoring maxLength atribute. | |
</action> | |
<action issue="LOG4J2-2636" dev="rgoers" type="fix"> | |
RFC5424Layout was not properly setting default Structured Element id for the MDC | |
</action> | |
<action issue="LOG4J2-2403" dev="rgoers" type="add" due-to="hupfdule"> | |
Allow zero padding the counter of a RollingFileAppender. | |
</action> | |
<action issue="LOG4J2-2427" dev="rgoers" type="add" due-to="Rimaljit Kaur"> | |
Add filter that will match events when no marker is present. | |
</action> | |
<action issue="LOG4J2-1143" dev="rgoers" type="fix" due-to="Pascal Heinrich"> | |
Lookups were not found if the plugin key was not lowercase. | |
</action> | |
<action issue="LOG4J2-2406" dev="rgoers" type="add"> | |
Add reconfiguration methods to Configurator. | |
</action> | |
<action issue="LOG4J2-1852" dev="rgoers" type="fix" due-to="Tanner Altares"> | |
Locate plugins within a Jar using a URL Connection. | |
</action> | |
<action issue="LOG4J2-2610" dev="rgoers" type="fix"> | |
Explicitly set file creation time. | |
</action> | |
<action issue="LOG4J2-2561" dev="rgoers" type="fix" due-to="Ulrich Enslin"> | |
JEP223 version detection fix for JDK 9 and up. | |
</action> | |
<action issue="LOG4J2-1103" dev="rgoers" type="fix" due-to="Seán Dunne"> | |
FailoverAppender was failing with ERROR appender Failover has no parameter that matches element Failovers. | |
</action> | |
<action issue="LOG4J2-2602" dev="rgoers" type="fix"> | |
Update file time when size based triggering policy is used without a time-based triggering policy. | |
</action> | |
<action issue="LOG4J2-2597" dev="rgoers" type="fix"> | |
Throw better exception message when both log4j-slf4j-impl and log4j-to-slf4j are present. | |
</action> | |
<action issue="LOG4J2-913" dev="rgoers" type="add"> | |
Add support for reconfiguration via HTTP(S), Docker, and Spring Cloud Configuration. | |
</action> | |
<action issue="LOG4J2-2586" dev="rgoers" type="add"> | |
TCP Appender should support a host name resolving to multiple IP addresses. | |
</action> | |
<action issue="LOG4J2-2559" dev="ggregory" type="fix" due-to="Li Lei, Gary Gregory"> | |
NullPointerException in JdbcAppender.createAppender(). | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from H2 1.4.197 to 1.4.199. | |
</action> | |
<action issue="LOG4J2-2570" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update Jackson from 2.9.7 to 2.9.8. | |
</action> | |
<action issue="LOG4J2-2574" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update MongoDB 3 module driver from 3.9.0 to 3.10.1. | |
</action> | |
<action issue="LOG4J2-2592" dev="ggregory" type="fix" due-to="Dávid Kaya, Gary Gregory"> | |
StackOverflowException when server not reachable with SocketAppender. | |
</action> | |
<action issue="LOG4J2-2337" dev="ggregory" type="add" due-to="Arvind Sahare, Patrice Ferrot"> | |
Allow custom end-of-line with JsonLayout. | |
</action> | |
<action issue="LOG4J2-2598" dev="ckozak" type="add" due-to="Carter Kozak"> | |
GZIP compression on rollover supports configurable compression levels. | |
</action> | |
<action issue="LOG4J2-2598" dev="ggregory" type="fix" due-to="Gary Gregory"> | |
java.lang.StackOverflowError at org.apache.logging.log4j.junit.AbstractExternalFileCleaner.println(AbstractExternalFileCleaner.java:169). | |
</action> | |
<action issue="LOG4J2-2564" dev="ckozak" type="fix"> | |
MapPatternConverter is properly created from the '%K', '%map', and '%MAP' patterns. | |
PatternConverter instanceOf methods with unknown parameter types no longer elide those with known parameters. | |
</action> | |
<action issue="LOG4J2-2611" dev="ckozak" type="add"> | |
AsyncQueueFullPolicy configuration short values "Default" and "Discard" are case insensitive to avoid confusion. | |
</action> | |
<action issue="LOG4J2-2612" dev="ggregory" type="fix"> | |
NullPointerException at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.writeInternal(JdbcDatabaseManager.java:803). | |
</action> | |
<action issue="LOG4J2-2618" dev="ggregory" type="fix"> | |
Possible ClassCastException in org.apache.logging.log4j.core.script.ScriptManager.ScriptManager(Configuration, WatchManager) | |
</action> | |
<action issue="LOG4J2-2619" dev="ggregory" type="update"> | |
Update Jackson from 2.9.8 to 2.9.9. | |
</action> | |
<action issue="LOG4J2-2631" dev="ckozak" type="fix"> | |
RoutingAppender PurgePolicy implementations no longer stop appenders referenced from the logger configuration, | |
only those that have been created by the RoutingAppender. Note that RoutingAppender.getAppenders no longer | |
includes entries for referenced appenders, only those which it has created. | |
</action> | |
<action issue="LOG4J2-2629" dev="ckozak" type="fix"> | |
Fix a race allowing events not to be recorded when a RoutingAppender purge policy attempts to delete an idle | |
appender at exactly the same time as a new event is recorded. | |
</action> | |
<action issue="LOG4J2-2606" dev="ckozak" type="fix"> | |
Asynchronous logging when the queue is full no longer results in heavy CPU utilization and low throughput. | |
</action> | |
<action issue="LOG4J2-2634" dev="ckozak" type="update"> | |
Refactor several AsyncLogger methods below the 35 byte threshold for inlining. | |
</action> | |
<action issue="LOG4J2-2634" dev="ggregory" type="add"> | |
Add and use method org.apache.logging.log4j.message.MapMessage.toKey(String) for simpler subclasses. | |
</action> | |
</release> | |
<release version="2.11.2" date="2019-02-04" description="GA Release 2.11.2"> | |
<action issue="LOG4J2-2500" dev="rgoers" type="fix"> | |
Document that Properties element must be the first configuration element. | |
</action> | |
<action issue="LOG4J2-2543" dev="rgoers" type="fix" due-to="Dermot Hardy"> | |
Add Log4j-to-SLF4J to BOM pom.xml. | |
</action> | |
<action issue="LOG4J2-2061" dev="rgoers" type="fix"> | |
Use the file pattern as the FileManager "name" when no filename is present. | |
</action> | |
<action issue="LOG4J2-2009" dev="rgoers" type="fix"> | |
Expose LoggerContext.setConfiguration as a public method. | |
</action> | |
<action issue="LOG4J2-2542" dev="rgoers" type="fix"> | |
CronTriggeringPolicy was not rolling properly, especially when used with the SizeBasedTriggeringPolicy. | |
</action> | |
<action issue="LOG4J2-2266" dev="rgoers" type="fix"> | |
Load PropertySources from any accessible ClassLoader. Hide any exceptions that may occur accessing a PropertySource. | |
</action> | |
<action issue="LOG4J2-1570" dev="rgoers" type="fix"> | |
Logging with a lambda expression with a method call that also logs would cause logs within method call to reference line num and method name of the parent method. | |
</action> | |
<action issue="LOG4J2-1576" dev="rgoers" type="update"> | |
Switch from CLIRR to RevAPI for detecting API changes. | |
</action> | |
<action issue="LOG4J2-2485" dev="rgoers" type="fix" due-to="Giovanni Matteo Fumarola"> | |
SizeBasedTriggeringPolicy was not honored when using the DirectWriteRolloverStrategy if the machine restarts. | |
</action> | |
<action issue="LOG4J2-1906" dev="rgoers" type="fix"> | |
Direct write was creating files with the wrong date/time. | |
</action> | |
<action issue="LOG4J2-2453" dev="rgoers" type="fix" due-to="theit"> | |
Add Log4j-slf4j18-impl dependency to bom pom. | |
</action> | |
<action issue="LOG4J2-2515" dev="rgoers" type="fix" due-to="MakarovS"> | |
Configuration documentation referenced incorrect method name. | |
</action> | |
<action issue="LOG4J2-2514" dev="rgoers" type="fix" due-to="smilebrian0515"> | |
Make Strings.toRootUpperCase a static method so it can be accessed. | |
</action> | |
<action issue="LOG4J2-1571" dev="rgoers" type="fix" due-to="torbenmoeller"> | |
Fixed Appenders section in Extending Log4j. | |
</action> | |
<action issue="LOG4J2-2391" dev="ckozak" type="update"> | |
Improve exception logging performance. ThrowableProxy construction uses a faster | |
method to discover the current stack trace. ThrowablePatternConverter and | |
ExtendedThrowablePatternConverter default configurations no longer allocate | |
an additional buffer for stack trace contents. | |
</action> | |
<action issue="LOG4J2-2397" dev="ggregory" type="fix" due-to="EckelDong"> | |
Predeployment of PersistenceUnit that using Log4j as session logger failed (#198). | |
</action> | |
<action issue="LOG4J2-2365" dev="ckozak" type="fix" due-to="Eugene Zimichev"> | |
NameAbbreviator correctly abbreviates first fragments (#188). | |
</action> | |
<action issue="LOG4J2-2201" dev="ckozak" type="fix"> | |
Fix memory leak in ReusableParameterizedMessage. | |
</action> | |
<action issue="LOG4J2-2363" dev="ckozak" type="fix" due-to="Brian Laub"> | |
ReusableObjectMessage parameter is properly passed to appenders (#203). | |
</action> | |
<action issue="LOG4J2-2418" dev="ggregory" type="fix" due-to="Jonas Rutishauser"> | |
NullPointerException when closing never used RollingRandomAccessFileAppender. | |
</action> | |
<action issue="LOG4J2-2422" dev="ggregory" type="fix" due-to="rswart, Gary Gregory"> | |
Handle some unchecked exceptions while loading plugins. | |
</action> | |
<action issue="LOG4J2-2441" dev="ckozak" type="fix"> | |
Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected. | |
</action> | |
<action issue="LOG4J2-2444" dev="ckozak" type="fix"> | |
ErrorHandler is invoked with a LogEvent and Throwable when possible, where previously only a string was used. | |
</action> | |
<action issue="LOG4J2-2447" dev="ggregory" type="update"> | |
Let the NullAppender default its name to "null". | |
</action> | |
<action issue="LOG4J2-2468" dev="ggregory" type="update"> | |
Update Jackson from 2.9.6 to 2.9.7. | |
</action> | |
<action issue="LOG4J2-2469" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.17 to 1.18. | |
</action> | |
<action issue="LOG4J2-2470" dev="ggregory" type="update"> | |
Update Apache Commons CSV from 1.5 to 1.6. | |
</action> | |
<action issue="LOG4J2-2471" dev="ggregory" type="update"> | |
Update javax.mail from 1.6.1 to 1.6.2. | |
</action> | |
<action issue="LOG4J2-2472" dev="ggregory" type="update"> | |
Update mongo-java-driver 3 from 3.8.0 to 3.8.2. | |
</action> | |
<action issue="LOG4J2-2413" dev="ggregory" type="fix" due-to="Andres Luuk, Gary Gregory"> | |
Exceptions are added to all columns when a JDBC Appender's ColumnMapping uses a Pattern. | |
</action> | |
<action issue="LOG4J2-2466" dev="ggregory" type="fix" due-to="Paolo Bonanomi, Gary Gregory"> | |
ColumnMapping literal not working. | |
</action> | |
<action issue="LOG4J2-2478" dev="ckozak" type="fix" due-to="Diego Elias Costa"> | |
AbstractStringLayoutStringEncodingBenchmark returns the computed variables on each benchmark to avoid DCE. | |
</action> | |
<action issue="LOG4J2-2134" dev="ggregory" type="fix" due-to="David del Amo Mateos, Gary Gregory"> | |
StackOverflowError at AwaitCompletionReliabilityStrategy. | |
</action> | |
<action issue="LOG4J2-2481" dev="ggregory" type="fix"> | |
Avoid NullPointerExceptions in org.apache.logging.log4j.core.config.AbstractConfiguration for null arguments. | |
</action> | |
<action issue="LOG4J2-2457" dev="ggregory" type="fix" due-to="Heiko Schwanke, Gary Gregory"> | |
RollingRandomAccessFileManager ignores new file patterns from programmatic reconfiguration. | |
</action> | |
<action issue="LOG4J2-2482" dev="ggregory" type="fix" due-to="Rob Gansevles"> | |
BasicContextSelector cannot be used in a OSGI application. | |
</action> | |
<action issue="LOG4J2-2476" dev="ggregory" type="fix" due-to="Al Bundy"> | |
org.apache.log4j.SimpleLayout and ConsoleAppender missing in log4j-1.2-api. | |
</action> | |
<action issue="LOG4J2-2489" dev="ggregory" type="update"> | |
JDBC Appender should release parameter resources ASAP. | |
</action> | |
<action issue="LOG4J2-2491" dev="ggregory" type="update"> | |
Allow all Appenders to optionally carry a Property array. | |
</action> | |
<action issue="LOG4J2-2497" dev="ggregory" type="fix"> | |
JmsAppender reconnectIntervalMillis cannot be set from a configuration file. | |
</action> | |
<action issue="LOG4J2-2499" dev="ggregory" type="fix"> | |
JMS Appender may throw a NullPointerException when JMS is not up while the Appender is starting. | |
</action> | |
<action issue="LOG4J2-2496" dev="ggregory" type="add"> | |
JDBC Appender should reconnect to the database when a connection goes stale. | |
</action> | |
<action issue="LOG4J2-2405" dev="ggregory" type="update" due-to="Marco Herrn"> | |
Better handling of %highlight pattern when using jul-bridge. | |
</action> | |
<action issue="LOG4J2-2503" dev="ggregory" type="update"> | |
Update MongoDB driver from 3.8.2 to 3.9.0 for log4j-mongodb3 module. | |
</action> | |
<action issue="LOG4J2-2505" dev="ggregory" type="add"> | |
Let JDBC PoolingDriverConnectionSource with Apache Commons DBCP configure a PoolableConnectionFactory. | |
</action> | |
<action issue="LOG4J2-2508" dev="ggregory" type="fix"> | |
JDBC Appender fails when using both parameter, source, and literal ColumnMapping elements. | |
</action> | |
<action issue="LOG4J2-2509" dev="ggregory" type="add"> | |
Allow a JDBC Appender to truncate strings to match a table's metadata column length limit. | |
</action> | |
<action issue="LOG4J2-1246" dev="ggregory" type="add"> | |
PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. | |
</action> | |
<action issue="LOG4J2-2527" dev="ckozak" type="fix"> | |
Prevent ConcurrentModificationException while iterating over ListAppender events. | |
</action> | |
<action issue="LOG4J2-2522" dev="ckozak" type="fix" due-to="Adam Lesiak"> | |
Fix regression using MapMessageLookup.lookup with MapMessages that do not implement StringMapMessage. | |
</action> | |
<action issue="LOG4J2-2530" dev="ckozak" type="fix" due-to="Travis Spencer"> | |
Generalize checks using MapMessage implementations with do not extend StringMapMessage. | |
Introduce new JAVA_UNQUOTED MapMessage format type based on the JAVA formatting, but without | |
quoted values. | |
</action> | |
<action issue="LOG4J2-2533" dev="ckozak" type="fix" due-to="Michail Prusakov"> | |
Fix a regression introduced by LOG4J2-2301 in 2.11.1 allowing allocation to occur in AsyncLoggerConfig. | |
</action> | |
</release> | |
<release version="2.11.1" date="2018-07-22" description="GA Release 2.11.1"> | |
<action issue="LOG4J2-2389" dev="rgoers" type="fix" due-to="Liu Wen"> | |
ThrowableProxy was saving and retrieving cache entries using different keys. | |
</action> | |
<action issue="LOG4J2-2316" dev="rgoers" type="fix"> | |
If root LoggerConfig does not have a Level return ERROR. | |
</action> | |
<action issue="LOG4J2-2390" dev="rgoers" type="fix" due-to="anton-balaniuc"> | |
Fix broken links in log4j web documentation. | |
</action> | |
<action issue="LOG4J2-1721" dev="rgoers" type="update" due-to="Phokham Nonava"> | |
Allow composite configuration for context parameter. | |
</action> | |
<action issue="LOG4J2-2343" dev="rgoers" type="fix" due-to="Raymond Augé"> | |
The OSGi Activator specified an incorrect version. | |
</action> | |
<action issue="LOG4J2-2305" dev="rgoers" type="fix" due-to="Björn Kautler"> | |
Make java.util.ServiceLoader properly work in OSGi by using the Service Loader Mediator Specification. | |
</action> | |
<action issue="LOG4J2-2305" dev="rgoers" type="fix"> | |
Split the SLF4J binding into 2 implementations - one for SLF4J 1.7.x and one for SLF4J 1.8+. | |
</action> | |
<action issue="LOG4J2-2268" dev="rgoers" type="fix" due-to="Tilman Hausherr"> | |
Improve plugin error message when elements are missing. | |
</action> | |
<action issue="LOG4J2-2283" dev="ggregory" type="fix" due-to="Vishnu Priya Matha"> | |
ParserConfigurationException when using Log4j with oracle.xml.jaxp.JXDocumentBuilderFactory. | |
</action> | |
<action issue="LOG4J2-2300" dev="ggregory" type="fix"> | |
PoolingDriverConnectionSource does not take into account properties, user name, and password. | |
</action> | |
<action issue="LOG4J2-2302" dev="ggregory" type="update"> | |
Status logger should show the Log4j name and version when initializing itself. | |
</action> | |
<action issue="LOG4J2-2304" dev="ggregory" type="update" due-to="wumengsheng"> | |
Log4j2 2.8.2 JMX unregister NullPointerException. | |
</action> | |
<action issue="LOG4J2-2311" dev="ggregory" type="update"> | |
Update Jackson from 2.9.4 to 2.9.5. | |
</action> | |
<action issue="LOG4J2-2313" dev="ggregory" type="update"> | |
Update LMAX Disruptor from 3.3.7 to 3.4.2. | |
</action> | |
<action issue="LOG4J2-548" dev="ggregory" type="update" due-to="Shehata, Paresh Varke, Eric Victorson, Martin Laforet"> | |
Log4j 2.0 ERROR "Could not search jar" with JBoss EAP 6.2. | |
</action> | |
<action issue="LOG4J2-2307" dev="ckozak" type="fix"> | |
MutableLogEvent and RingBufferLogEvent message mementos retain the original format string. | |
</action> | |
<action issue="LOG4J2-2032" dev="ckozak" type="fix" due-to="Kostiantyn Shchepanovskyi"> | |
Curly braces in parameters are not treated as placeholders. | |
</action> | |
<action issue="LOG4J2-2317" dev="ckozak" type="fix"> | |
MutableLogEvent.getNonNullImmutableMessage and Log4jLogEvent.makeMessageImmutable retain format and parameters. | |
</action> | |
<action issue="LOG4J2-2318" dev="ckozak" type="fix"> | |
Messages are no longer mutated when the asynchronous queue is full. A warning is logged to the status logger instead. | |
</action> | |
<action issue="LOG4J2-2320" dev="ckozak" type="fix"> | |
Fix NPE in AbstractLogger when another exception is thrown, masking the root cause. | |
</action> | |
<action issue="LOG4J2-2321" dev="ckozak" type="fix"> | |
AsyncLogger uses the correct level when unspecified. This provides parity between AsyncLogger and Logger. | |
</action> | |
<action issue="LOG4J2-2322" dev="ckozak" type="fix"> | |
Custom ContextSelector implementations which select an AsyncLoggerContext disable LoggerConfig.includeLocation | |
by default for parity with AsyncLoggerContextSelector. | |
</action> | |
<action issue="LOG4J2-2269" dev="ckozak" type="fix"> | |
MutableLogEvent references to other objects are cleared after each use. | |
Fix a memory leak causing references to parameters to be held after synchronous logging with thread locals enabled. | |
</action> | |
<action issue="LOG4J2-2328" dev="ggregory" type="update"> | |
Update JAnsi from 1.17 to 1.17.1. | |
</action> | |
<action issue="LOG4J2-2301" dev="ckozak" type="fix"> | |
Mixed async loggers no longer forget parameter values, providing some appenders with an array of nulls. | |
</action> | |
<action issue="LOG4J2-2331" dev="ckozak" type="fix" due-to="Mike Baranski"> | |
RollingFileManager debug logging avoids string concatenation and errant braces in favor of parameterized logging. | |
</action> | |
<action issue="LOG4J2-2333" dev="ckozak" type="fix"> | |
Handle errors thrown in default disruptor ExceptionHandler implementations to avoid killing background threads. | |
</action> | |
<action issue="LOG4J2-2334" dev="ggregory" type="fix"> | |
Add API org.apache.logging.log4j.core.appender.AsyncAppender.getQueueSize(). | |
</action> | |
<action issue="LOG4J2-2336" dev="ckozak" type="fix"> | |
Remove duplicate hyphen from the AsyncLoggerConfig background thread name. | |
</action> | |
<action issue="LOG4J2-2347" dev="ggregory" type="fix"> | |
Update Apache Commons Compress from 1.16.1 to 1.17. | |
</action> | |
<action issue="LOG4J2-2351" dev="ckozak" type="update"> | |
Added AbstractLogEvent.getMutableInstant to allow the MutableInstant instance to be modified by classes extending AbstractLogEvent. | |
</action> | |
<action issue="LOG4J2-2352" dev="ckozak" type="fix"> | |
RingBufferLogEvent memento messages provide the expected format string, and no longer attempt to substitute parameters into curly braces in parameter toString values. | |
Both RingBufferLogEvent and MutableLogEvent memento implementations memoize results to avoid rebuilding formatted string values. | |
</action> | |
<action issue="LOG4J2-2355" dev="ckozak" type="fix" due-to="Henrik Brautaset Aronsen"> | |
PropertiesUtil ignores non-string system properties. Fixes a NoClassDefFoundError initializing StatusLogger | |
caused by an NPE while initializing the static PropertiesUtil field. | |
</action> | |
<action issue="LOG4J2-2357" dev="ggregory" type="update"> | |
Update Jackson from 2.9.5 to 2.9.6. | |
</action> | |
<action issue="LOG4J2-2358" dev="ggregory" type="update"> | |
Update Kafka client from 1.0.0 to 1.1.0. | |
</action> | |
<action issue="LOG4J2-2362" dev="ckozak" type="fix"> | |
Fixed a memory leak in which ReusableObjectMessage would hold a reference to the most recently logged object. | |
</action> | |
<action issue="LOG4J2-2312" dev="ckozak" type="fix"> | |
Jackson layouts used with AsyncLoggerContextSelector output the expected format rather than only a JSON string of the message text. | |
</action> | |
<action issue="LOG4J2-2364" dev="ckozak" type="fix"> | |
Fixed a memory leak in which ReusableParameterizedMessage would hold a reference to the most recently | |
logged throwable and provided varargs array. | |
</action> | |
<action issue="LOG4J2-2368" dev="ckozak" type="fix"> | |
Nested logging doesn't clobber AbstractStringLayout cached StringBuidlers | |
</action> | |
<action issue="LOG4J2-2373" dev="ckozak" type="fix" due-to="Kevin Meurer"> | |
StringBuilders.escapeJson implementation runs in linear time. Escaping large JSON strings | |
in EncodingPatternConverter and MapMessage will perform significantly better. | |
</action> | |
<action issue="LOG4J2-2376" dev="ckozak" type="fix" due-to="Kevin Meurer"> | |
StringBuilders.escapeXml implementation runs in linear time. Escaping large XML strings | |
in EncodingPatternConverter and MapMessage will perform significantly better. | |
</action> | |
<action issue="LOG4J2-2377" dev="ggregory" type="fix" due-to="Mirko Rzehak, Gary Gregory"> | |
NullPointerException in org.apache.logging.log4j.util.LoaderUtil.getClassLoaders() when using Bootstrap class loader. | |
</action> | |
<action issue="LOG4J2-2382" dev="ggregory" type="fix"> | |
Update Mongodb 3 driver from 3.6.3 to 3.8.0. | |
</action> | |
<action issue="LOG4J2-2384" dev="ggregory" type="update"> | |
Update Kafka client from 1.1.0 to 1.1.1. | |
</action> | |
<action issue="LOG4J2-2385" dev="ggregory" type="update"> | |
Update Groovy from 2.4.13 to 2.5.1. | |
</action> | |
<action issue="LOG4J2-2386" dev="ggregory" type="update"> | |
Update optional Apache Commons DBCP from 2.2.0 to 2.4.0. | |
</action> | |
<action issue="LOG4J2-2388" dev="ggregory" type="fix" due-to="Failled"> | |
Thread indefinitely blocked when logging a message in an interrupted thread. | |
</action> | |
</release> | |
<release version="2.11.0" date="2018-03-11" description="GA Release 2.11.0"> | |
<action issue="LOG4J2-2104" dev="rgoers" type="fix"> | |
LoaderUtil was not looping properly over classloaders. | |
</action> | |
<action issue="LOG4J2-1976" dev="rgoers" type="fix"> | |
Revert OSGi API version to 4.3.1. | |
</action> | |
<action issue="LOG4J2-2273" dev="rpopma" type="update" due-to="Bruno P. Kinoshita"> | |
Documentation fix in manual page for custom configurations. | |
</action> | |
<action issue="LOG4J2-2252" dev="rpopma" type="update" due-to="Carter Kozak"> | |
Reusable LogEvents now pass the original format string to downstream components like layouts and filters. | |
</action> | |
<action issue="LOG4J2-2253" dev="rpopma" type="add" due-to="Carter Kozak"> | |
Add API to enable iterating over message parameters without creating temporary objects. | |
</action> | |
<action issue="LOG4J2-2271" dev="rgoers" type="fix"> | |
Move module-info.class to META-INF/versions/9 directory. | |
</action> | |
<action issue="LOG4J2-2254" dev="rgoers" type="fix"> | |
Incorrect automatics module name header was being included in manifests. | |
</action> | |
<action issue="LOG4J2-2247" dev="rgoers" type="fix"> | |
NullPointerException would occur when header was provided to a Layout on RollingRandingAccessFileAppender | |
with DirectWriteRolloverStrategy. | |
</action> | |
<action issue="LOG4J2-2250" dev="rpopma" type="update"> | |
The internal status logger timestamp format is now configurable with system property `log4j2.StatusLogger.DateFormat`. | |
</action> | |
<action issue="LOG4J2-2236" dev="rpopma" type="update"> | |
Removed unnecessary dependency on jcommander since Log4j uses embedded picocli since 2.9. | |
</action> | |
<action issue="LOG4J2-1883" dev="rpopma" type="add" due-to="Anthony Maire"> | |
Added support for precise (micro and nanosecond) timestamps when running on Java 9. A limited number of precise %d date formats are supported with PatternLayout. POTENTIAL BREAKING CHANGE: The XML, JSON and YAML formats have changed: they no longer have the "timeMillis" attribute and instead have an "Instant" element with "epochSecond" and "nanoOfSecond" attributes. | |
</action> | |
<action issue="LOG4J2-2190" dev="mikes" type="add" due-to="Franz Wong"> | |
Output JSON object for ObjectMessage in JsonLayout. | |
</action> | |
<action issue="LOG4J2-2191" dev="rpopma" type="add"> | |
Made log4j-core a multi-release ("multi-version") jar, added log4j-core-java9 module. | |
</action> | |
<action issue="LOG4J2-2129" dev="rgoers" type="fix" due-to="Blazej Bucko"> | |
Log4j2 throws NoClassDefFoundError in Java 9 in java.util.ServiceLoader. | |
</action> | |
<action issue="LOG4J2-2158" dev="rpopma" type="fix" due-to="Björn Kautler"> | |
Fixed bug where ThreadContext map was cleared, resulting in entries being only available for one log event. | |
</action> | |
<action issue="LOG4J2-2002" dev="mikes" type="fix" due-to="Paul Burrowes"> | |
Avoid null attribute values in DefaultConfigurationBuilder. | |
</action> | |
<action issue="LOG4J2-2175" dev="mikes" type="fix" due-to="Behrang Saeedzadeh"> | |
Fix typo in Property Substitution docs. | |
</action> | |
<action issue="LOG4J2-2163" dev="rgoers" type="fix"> | |
Allow SortedArrayStringMap to be filtered upon deserialization. Fix build error in Java 9 when | |
compiling log4j-core test classes. | |
</action> | |
<action issue="LOG4J2-2157" dev="ggregory" type="fix" due-to="Malte Skoruppa"> | |
Don't create exit message in traceExit(R) when logging is disabled. | |
</action> | |
<action issue="LOG4J2-2123" dev="rgoers" type="fix" due-to="Jacob Tolar"> | |
DefaultMergeStrategy did not merge filters on loggers correctly. | |
</action> | |
<action issue="LOG4J2-2146" dev="rgoers" type="update"> | |
Update version of maven bundle plugin to 3.4.0. Convert bundle plugin error to a warning. | |
</action> | |
<action issue="LOG4J2-2215" dev="rpopma" type="update"> | |
Reduce compiler warnings in log4j-api. | |
</action> | |
<action issue="LOG4J2-2143" dev="mikes" type="add"> | |
Add missing converters to PatternLayout. | |
</action> | |
<action issue="LOG4J2-2160" dev="ggregory" type="add"> | |
Add API org.apache.logging.log4j.core.lookup.Interpolator.getStrLookupMap(). | |
</action> | |
<action issue="LOG4J2-2127" dev="rpopma" type="update" due-to="Carter Kozak"> | |
Removed unnecessary threadlocal StringBuilder field from MdcPatternConverter. | |
</action> | |
<action issue="LOG4J2-2126" dev="rpopma" type="fix" due-to="Oleg Kalnichevski"> | |
Removed compile-time dependency on Java Management APIs from Log4J API module to improve compatibility with Android Platform which does not support JMX extensions. | |
</action> | |
<action issue="LOG4J2-2194" dev="rpopma" type="update"> | |
Require Java 9 to compile the log4j-perf module to allow benchmarking with Java 9 APIs. | |
</action> | |
<action issue="LOG4J2-2193" dev="rpopma" type="update"> | |
Update JMH to version 1.19 from 1.1.1. | |
</action> | |
<action issue="LOG4J2-2132" dev="ggregory" type="update"> | |
Update ZeroMQ's jeromq from 0.4.2 to 0.4.3. | |
</action> | |
<action issue="LOG4J2-2165" dev="ggregory" type="update"> | |
Update Jackson from 2.9.2 to 2.9.3. | |
</action> | |
<action issue="LOG4J2-2179" dev="ggregory" type="add"> | |
The MongoDB Appender should use a keys and values for a Log4j MapMessage. | |
</action> | |
<action issue="LOG4J2-2180" dev="ggregory" type="add"> | |
Add a MongoDbProvider builder for and deprecate org.apache.logging.log4j.mongodb.MongoDbProvider.createNoSqlProvider(). | |
</action> | |
<action issue="LOG4J2-2181" dev="ggregory" type="add"> | |
The JDBC Appender should use keys and values from a Log4j MapMessage. | |
</action> | |
<action issue="LOG4J2-2184" dev="ggregory" type="update"> | |
Update MongoDB driver from 3.0.4 to 3.6.1. | |
</action> | |
<action issue="LOG4J2-2185" dev="ggregory" type="add"> | |
Add a simple JDBC DriverManager-based ConnectionSource that uses JDBC's DriverManager#getConnection(String, String, String). | |
</action> | |
<action issue="LOG4J2-2197" dev="ggregory" type="update" due-to="Fabrice Daugan"> | |
Document default property value support. | |
</action> | |
<action issue="LOG4J2-2198" dev="ggregory" type="update"> | |
Update MongoDB dependencies from classic to modern. | |
</action> | |
<action issue="LOG4J2-2186" dev="ggregory" type="add"> | |
Add a JDBC ConnectionSource that provides pooling through Apache Commons DBCP 2. | |
</action> | |
<action issue="LOG4J2-2187" dev="ggregory" type="add"> | |
Add a hook for a Connection Source for a JDBC Appender to release its resources. | |
</action> | |
<action issue="LOG4J2-2203" dev="ggregory" type="add"> | |
Add org.apache.logging.log4j.core.util.WatchManager#unwatch(File). | |
</action> | |
<action issue="LOG4J2-2204" dev="ggregory" type="update"> | |
org.apache.logging.log4j.core.util.WatchManager.getWatchers() should pre-allocate its new Map. | |
</action> | |
<action issue="LOG4J2-2206" dev="ggregory" type="add"> | |
Add method org.apache.logging.log4j.core.util.WatchManager.reset(File) and reset(). | |
</action> | |
<action issue="LOG4J2-2208" dev="ggregory" type="add"> | |
Add debug logging to org.apache.logging.log4j.mongodb.MongoDbConnection. | |
</action> | |
<action issue="LOG4J2-2209" dev="ggregory" type="update"> | |
Rename existing MongoDb plugin and related artifacts from MongoDb to MongoDb2. | |
</action> | |
<action issue="LOG4J2-2210" dev="ggregory" type="update" due-to="Björn Kautler"> | |
Fix error log message for Script which says ScriptFile instead. | |
</action> | |
<action issue="LOG4J2-2212" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory"> | |
Unnecessary contention in CopyOnWriteSortedArrayThreadContextMap. | |
</action> | |
<action issue="LOG4J2-2213" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory"> | |
Unnecessary contention in GarbageFreeSortedArrayThreadContextMap. | |
</action> | |
<action issue="LOG4J2-2214" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory"> | |
Unnecessary contention in DefaultThreadContextMap. | |
</action> | |
<action issue="LOG4J2-2182" dev="ggregory" type="update" due-to="liwenxian2017, Gary Gregory"> | |
NullPointerException at org.apache.logging.log4j.util.Activator.loadProvider(Activator.java:81) in log4j 2.10.0. | |
</action> | |
<action issue="LOG4J2-2202" dev="ggregory" type="update" due-to="Kilian, Gary Gregory"> | |
MarkerFilter onMismatch invalid attribute in .properties. | |
</action> | |
<action issue="LOG4J2-2219" dev="ggregory" type="update" due-to="Kilian, Gary Gregory"> | |
Configuration builder classes should look for "onMismatch", not "onMisMatch". | |
</action> | |
<action issue="LOG4J2-2205" dev="ggregory" type="update" due-to="Gary Gregory"> | |
New module log4j-mongodb3: Remove use of deprecated MongoDB APIs and code to the Java driver version 3 API. | |
</action> | |
<action issue="LOG4J2-2188" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Split off JPA support into a new module log4j-jpa. | |
</action> | |
<action issue="LOG4J2-2229" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update Jackson from 2.9.3 to 2.9.4. | |
</action> | |
<action issue="LOG4J2-2243" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Cannot see or copy all of certain JAnsi exception messages on Windows due to NUL characters. | |
</action> | |
<action issue="LOG4J2-2245" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update Apache Commons Compress from 1.15 to 1.16.1. | |
</action> | |
<action issue="LOG4J2-2259" dev="ggregory" type="update"> | |
Update MongoDB 3 module from driver 3.6.1 to 3.6.3. | |
</action> | |
<action issue="LOG4J2-2260" dev="ggregory" type="update"> | |
[SMTP] Update javax.mail from 1.6.0 to 1.6.1. | |
</action> | |
<action issue="LOG4J2-2264" dev="ggregory" type="update"> | |
Update JAnsi from 1.16 to 1.17. | |
</action> | |
<action issue="LOG4J2-2270" dev="ggregory" type="fix" due-to="Cyril Martin"> | |
Strings::join, when called with [null] returns "null" instead of EMPTY. | |
</action> | |
<action issue="LOG4J2-2276" dev="ggregory" type="fix" due-to="Sean Baxter"> | |
ConcurrentModificationException from org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:71). | |
</action> | |
<action issue="LOG4J2-2274" dev="ggregory" type="fix" due-to="Sebastien Lannez"> | |
Allow EnvironmentPropertySource to run with a SecurityManager that rejects environment variable access. | |
</action> | |
<action issue="LOG4J2-2279" dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Allow SystemPropertiesPropertySource to run with a SecurityManager that rejects system property access. | |
</action> | |
</release> | |
<release version="2.10.0" date="2017-11-18" description="GA Release 2.10.0"> | |
<action issue="LOG4J2-2289" dev="ggregory" type="fix" due-to="Hari Menon"> | |
XML Schema for DynamicFilterThreshold does not accept multiple KeyValuePairs. | |
</action> | |
<action issue="LOG4J2-2120" dev="mikes" type="add" due-to="Carter Douglas Kozak"> | |
Properly escape newlines and other control characters in JSON. | |
</action> | |
<action issue="LOG4J2-2109" dev="mikes" type="add" due-to="Carter Douglas Kozak"> | |
Add property to disable message pattern converter lookups. | |
</action> | |
<action issue="LOG4J2-2112" dev="mikes" type="add" due-to="Carter Douglas Kozak"> | |
MapMessage should use deep toString for values. | |
</action> | |
<action issue="LOG4J2-2107" dev="mikes" type="fix" due-to="Carter Douglas Kozak"> | |
MapMessage supports both StringBuilderFormattable and MultiformatMessage. | |
</action> | |
<action issue="LOG4J2-2102" dev="mikes" type="fix" due-to="Carter Douglas Kozak"> | |
MapMessage JSON encoding will escape keys and values. | |
</action> | |
<action issue="LOG4J2-2101" dev="mikes" type="fix" due-to="Carter Douglas Kozak"> | |
Non-string value in MapMessage caused ClassCastException. | |
</action> | |
<action issue="LOG4J2-2103" dev="mikes" type="add"> | |
XML encoding for PatternLayout. | |
</action> | |
<action issue="LOG4J2-2114" dev="ggregory" type="add"> | |
Provide a native Log4j 2 implementation of Eclipse Jetty's org.eclipse.jetty.util.log.Logger. | |
</action> | |
<action issue="LOG4J2-1203" dev="mikes" type="add" due-to="Robert Turner"> | |
Allow filtering of line breaks in layout pattern. | |
</action> | |
<action issue="LOG4J2-2098" dev="rgoers" type="add"> | |
Add a noop AppenderSkeleton for applications still using Log4j 1.x. | |
</action> | |
<action issue="LOG4J2-2091" dev="mikes" type="fix" due-to="Carter Douglas Kozak"> | |
Log4j respects the configured "log4j2.is.webapp" property | |
</action> | |
<action issue="LOG4J2-2100" dev="ggregory" type="fix"> | |
LevelMixIn class for Jackson is coded incorrectly | |
</action> | |
<action issue="LOG4J2-2087" dev="rpopma" type="fix" due-to="Andy Gumbrecht"> | |
Jansi now needs to be enabled explicitly (by setting system property `log4j.skipJansi` to `false`). To avoid causing problems for web applications, Log4j will no longer automatically try to load Jansi without explicit configuration. | |
</action> | |
<action issue="LOG4J2-2060" dev="rpopma" type="fix"> | |
AbstractDatabaseManager should make a copy of LogEvents before holding references to them: AsyncLogger log events are mutable. | |
</action> | |
<action issue="LOG4J2-2076" dev="mikes" type="update"> | |
Split up log4j-nosql into one module per appender. | |
</action> | |
<action issue="LOG4J2-2088" dev="rpopma" type="update"> | |
Upgrade picocli to 2.0.3 from 0.9.8. | |
</action> | |
<action issue="LOG4J2-2062" dev="mikes" type="add" due-to="Jorge Sanchez"> | |
Add possibility of sending the key of a message to Kafka using KafkaAppender. | |
</action> | |
<action issue="LOG4J2-2056" dev="rgoers" type="add"> | |
Modularize Log4j-api and make most other log4j jars automatic modules. | |
</action> | |
<action issue="LOG4J2-1431" dev="mattsicker" type="add"> | |
Simplify log4j system property naming scheme. | |
</action> | |
<action issue="LOG4J2-1809" dev="mattsicker" type="add"> | |
Add global configuration environment SPI. | |
</action> | |
<action issue="LOG4J2-2025" dev="rgoers" type="update"> | |
Provide support for overriding the Tomcat Log class in Tomcat 8.5+. | |
</action> | |
<action issue="LOG4J2-1694" dev="mikes" type="add" due-to="Michal Dvořák"> | |
Add fields with fixed values to JSON/XML/YAML layouts. | |
</action> | |
<action issue="LOG4J2-2054" dev="rpopma" type="add"> | |
Provide ways to configure SSL that avoid plain-text passwords in the log4j configuration. The configuration may | |
now specify a system environment variable that holds the password, or the path to a file that holds the password. | |
</action> | |
<action issue="LOG4J2-2057" dev="rgoers" type="update"> | |
Support new SLF4J binding mechanism introduced in SLF4J 1.8. | |
</action> | |
<action issue="LOG4J2-2052" dev="rpopma" type="update"> | |
Disable thread name caching by default when running on Java 8u102 or later. | |
</action> | |
<action issue="LOG4J2-2055" dev="rgoers" type="fix"> | |
If Log4j is used as the Tomcat logging implementation startup might fail if an application also uses Log4j. | |
</action> | |
<action issue="LOG4J2-1896" dev="rpopma" type="update"> | |
Update classes in org.apache.logging.log4j.core.net.ssl in APIs from String to a PasswordProvider producing | |
char[] for passwords. | |
</action> | |
<action issue="LOG4J2-2031" dev="rpopma" type="fix"> | |
Until this change, messages appeared out of order in log file any time when the async logging queue was full. | |
With this change, messages are only logged out of order to prevent deadlock when Log4j2 detects recursive | |
logging while the queue is full. | |
</action> | |
<action issue="LOG4J2-2053" dev="ggregory" type="fix"> | |
Exception java.nio.charset.UnsupportedCharsetException: cp65001 in 2.9.0. | |
</action> | |
<action issue="LOG4J2-1216" dev="ggregory" type="fix" due-to="Thies Wellpott, Barna Zsombor Klara, GFriedrich"> | |
Nested pattern layout options broken. | |
</action> | |
<action issue="LOG4J2-2070" dev="ggregory" type="fix" due-to="Doug Hughes"> | |
Log4j1XmlLayout does not provide the entire stack trace, it is missing the caused by information. | |
</action> | |
<action issue="LOG4J2-2036" dev="ggregory" type="fix" due-to="Robert Haycock"> | |
CompositeConfiguration supports Reconfiguration. PR #115. | |
</action> | |
<action issue="LOG4J2-2071" dev="ggregory" type="add" due-to="Carter Kozak"> | |
Add org.apache.logging.log4j.core.config.composite.CompositeConfiguration#toString(). | |
</action> | |
<action issue="LOG4J2-2073" dev="ggregory" type="fix" due-to="Patrick Lucas"> | |
Log4j-config.xsd should make AppenderRef optional for each Logger element. | |
</action> | |
<action issue="LOG4J2-2074" dev="ggregory" type="fix"> | |
The console appender should say why it cannot load JAnsi. | |
</action> | |
<action issue="LOG4J2-2085" dev="ggregory" type="fix" due-to="István Neuwirth"> | |
Wrong Apache Commons CSV version referenced in the Javadoc of CsvParameterLayout. | |
</action> | |
<action issue="LOG4J2-2078" dev="ggregory" type="update"> | |
Update LMAX disruptor from 3.3.6 to 3.3.7. | |
</action> | |
<action issue="LOG4J2-2081" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.14 to 1.15. | |
</action> | |
<action issue="LOG4J2-2089" dev="ggregory" type="update"> | |
[TagLib] Update servlet-api provided dependency from 2.5 to 3.0.1. | |
</action> | |
<action issue="LOG4J2-2096" dev="ggregory" type="update"> | |
Update Apache Kafka kafka-clients from 0.11.0.1 to 1.0.0. | |
</action> | |
<action issue="LOG4J2-2077" dev="ggregory" type="update"> | |
Update from Jackson 2.9.1 to 2.9.2. | |
</action> | |
<action issue="LOG4J2-2117" dev="ggregory" type="update"> | |
Jackson dependencies for 2.9.2 incorrectly bring in jackson-annotations 2.9.0 instead of 2.9.2. | |
</action> | |
</release> | |
<release version="2.9.1" date="2017-09-17" description="GA Release 2.9.1"> | |
<action issue="LOG4J2-1988" dev="rpopma" type="fix"> | |
Prevent ConcurrentModificationException with AsyncLoggerConfig. | |
</action> | |
<action issue="LOG4J2-1914" dev="rpopma" type="fix"> | |
Prevent ConcurrentModificationException with AsyncLoggerConfig. | |
</action> | |
<action issue="LOG4J2-2048" dev="rpopma" type="fix"> | |
Increase default queue size for AsyncAppender from 128 to 1024. | |
</action> | |
<action issue="LOG4J2-2035" dev="rpopma" type="fix"> | |
Fix documentation to clarify disruptor-3.3.4 is now required for async loggers (previously the docs referred to disruptor-3.3.3 which was never released). | |
</action> | |
<action issue="LOG4J2-2030" dev="rgoers" type="fix"> | |
Inspect all known ClassLoaders to locate the service provider. | |
</action> | |
<action issue="LOG4J2-2028" dev="rgoers" type="fix" due-to="Jason Tedor"> | |
Java 9 StackLocator was not properly skipping the initial stack frames. | |
</action> | |
<action issue="LOG4J2-2023" dev="ggregory" type="update"> | |
Use a class' canonical name instead of name to create its logger name. | |
</action> | |
<action issue="LOG4J2-2026" dev="ggregory" type="fix" due-to="Leon Finker"> | |
java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(). | |
</action> | |
<action issue="LOG4J2-2029" dev="ggregory" type="fix" due-to="Fabrizio Cucci"> | |
Marker examples should not use deprecated flow APIs. | |
</action> | |
<action issue="LOG4J2-1936" dev="ggregory" type="fix" due-to="Helber Belmiro"> | |
ClassNotFoundException when making all loggers asynchronous under OSGi environment. | |
</action> | |
<action issue="LOG4J2-2043" dev="ggregory" type="update"> | |
Update Jackson from 2.9.0 to 2.9.1 (fix for Java 9.) | |
</action> | |
<action issue="LOG4J2-2044" dev="ggregory" type="update"> | |
Update Apache Commons CSV from 1.4 to 1.5. | |
</action> | |
<action issue="LOG4J2-2045" dev="ggregory" type="update"> | |
Update javax.mail from 1.5.6 to 1.6.0. | |
</action> | |
<action issue="LOG4J2-2046" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.13 to 1.14. | |
</action> | |
<action issue="LOG4J2-2047" dev="ggregory" type="update"> | |
Update Cassandra driver from 3.1.0 to 3.1.4. | |
</action> | |
<action issue="LOG4J2-2049" dev="ggregory" type="update"> | |
Update Apache Kafka Client from 0.11.0.0 to 0.11.0.1. | |
</action> | |
</release> | |
<release version="2.9.0" date="2017-08-26" description="GA Release 2.9.0"> | |
<action issue="LOG4J2-1928" dev="rgoers" type="update"> | |
Add support for DirectWriteRolloverStrategy to RollingRandomAccessFileAppender. | |
</action> | |
<action issue="LOG4J2-1833" dev="rgoers" type="fix"> | |
Prevent NullPointerException when a file name is specified with the DirectWriteRolloverStrategy. | |
</action> | |
<action issue="LOG4J2-2022" dev="rgoers" type="update"> | |
RFC5424Layout now prints the process id. | |
</action> | |
<action issue="LOG4J2-2020" dev="mikes" type="update"> | |
Remove default layout from KafkaAppender. | |
</action> | |
<action issue="LOG4J2-2018" dev="rpopma" type="fix"> | |
Fix incorrect documentation for LoggerNameLevelRewritePolicy. | |
</action> | |
<action issue="LOG4J2-922" dev="ggregory" type="fix" due-to="angus.aqlu, Paul Burrowes"> | |
Parameter of mdcId in SyslogAppender has no default value. | |
</action> | |
<action issue="LOG4J2-2001" dev="ggregory" type="fix" due-to="Paul Burrowes"> | |
StyleConverter.newInstance argument validation is incorrect. | |
</action> | |
<action issue="LOG4J2-1999" dev="ggregory" type="fix" due-to="Paul Burrowes"> | |
HighlightConverter converts all unrecognized levels to DEBUG. | |
</action> | |
<action issue="LOG4J2-2013" dev="ggregory" type="fix" due-to="Taylor Patton, Gary Gregory"> | |
SslSocketManager does not apply SSLContext on TCP reconnect. | |
</action> | |
<action issue="LOG4J2-2023" dev="ggregory" type="update"> | |
Use a class' canonical name instead of name to create its logger name. | |
</action> | |
<action issue="LOG4J2-2015" dev="ggregory" type="update"> | |
Allow KeyStoreConfiguration and TrustStoreConfiguration to find files as resources. | |
</action> | |
<action issue="LOG4J2-2011" dev="rpopma" type="update"> | |
Replace JCommander command line parser with picocli to let users run Log4j2 utility applications without requiring an external dependency. | |
</action> | |
<action issue="LOG4J2-2008" dev="rgoers" type="add"> | |
Support printing multiple StructuredData elements in RFC5424Layout. | |
</action> | |
<action issue="LOG4J2-1986" dev="mikes" type="add"> | |
Public API for parsing the output from JsonLayout/XmlLayout/YamlLayout into a LogEvent. | |
</action> | |
<action issue="LOG4J2-1984" dev="rgoers" type="update"> | |
Allow maxLength of StructuredData to be specified by the user. | |
</action> | |
<action issue="LOG4J2-1071" dev="ggregory" type="update" due-to="Ben Ludkiewicz, Benjamin Jaton"> | |
Allow for bufferSize=0 in SMTP appender. | |
</action> | |
<action issue="LOG4J2-1981" dev="mikes" type="add"> | |
JsonLayout, XmlLayout and YamlLayout support 0-byte termination of log events. | |
</action> | |
<action issue="LOG4J2-1864" dev="mattsicker" type="add" due-to="Matthias Kappeller"> | |
Support capped collections for MongoDb appender. | |
</action> | |
<action issue="LOG4J2-2016" dev="ggregory" type="fix" due-to="Benjamin Jaton"> | |
Mark FileRenameAction as successful when using alternative ways to move files. | |
</action> | |
<action issue="LOG4J2-2012" dev="ggregory" type="fix" due-to="Benjamin Jaton"> | |
No compression when using a separate drive in Linux. | |
</action> | |
<action issue="LOG4J2-1888" dev="ggregory" type="fix" due-to="Misagh Moayyed"> | |
Log4j throws a java.nio.charset.UnsupportedCharsetException: cp65001. | |
</action> | |
<action issue="LOG4J2-1990" dev="ggregory" type="fix" due-to="Philippe Mouawad"> | |
ConcurrentModificationException logging a parameter of type Map. | |
</action> | |
<action issue="LOG4J2-1311" dev="ggregory" type="fix" due-to="Xibing Liang"> | |
SocketAppender will lose several events after re-connection to server. | |
</action> | |
<action issue="LOG4J2-1977" dev="ggregory" type="fix" due-to="Jerry xnslong"> | |
Consider the StringBuilder's capacity instead of content length when trimming. | |
</action> | |
<action issue="LOG4J2-1971" dev="rgoers" type="fix"> | |
Register log4j-core as an OSGi service. Skip tests for LOG4J2-1766 on MacOS. Use group "staff" for LOG4J2-1699 test on MacOS. | |
</action> | |
<action issue="LOG4J2-1994" dev="ggregory" type="fix"> | |
TcpSocketServer does not close accepted Sockets. | |
</action> | |
<action issue="LOG4J2-1987" dev="ggregory" type="fix" due-to="Andreas Felder"> | |
Log4J JUL Bridge and RMI Security Manager causes access denied ("java.util.logging.LoggingPermission" "control") | |
</action> | |
<action issue="LOG4J2-1982" dev="ggregory" type="fix" due-to="Christoph Lembeck"> | |
Log4j-config.xsd only allows one AppenderRef element for each Logger element. | |
</action> | |
<action issue="LOG4J2-1985" dev="ggregory" type="fix" due-to="Kenneth McFarland"> | |
Fix default buffer size to match documentation (from 8102 to 8192 a.k.a. 8KB.) | |
</action> | |
<action issue="LOG4J2-1813" dev="rpopma" type="add"> | |
Log4j2 will now print all internal logging to the console if system property `log4j2.debug` is defined with any value (or no value). | |
</action> | |
<action issue="LOG4J2-1261" dev="rpopma" type="update"> | |
Async Loggers no longer use deprecated LMAX Disruptor APIs. (Disruptor-3.3.3 or higher is now required.) | |
</action> | |
<action issue="LOG4J2-1908" dev="rpopma" type="update"> | |
Improved error message when misconfigured with multiple incompatible appenders targeting same file. | |
</action> | |
<action issue="LOG4J2-1954" dev="rpopma" type="update"> | |
Configurations with multiple root loggers now fail loudly. | |
</action> | |
<action issue="LOG4J2-1958" dev="mikes" type="update"> | |
Deprecate SerializedLayout and remove it as default. | |
</action> | |
<action issue="LOG4J2-1959" dev="mikes" type="update"> | |
Disable DTD processing in XML configuration files. | |
</action> | |
<action issue="LOG4J2-1766" dev="ggregory" type="add" due-to="Pierrick HYMBERT"> | |
Temporary compress directory during rollover (#88). | |
</action> | |
<action issue="LOG4J2-1950" dev="ggregory" type="update" due-to="Pierrick HYMBERT"> | |
Fix docker build with jdk9 requirements (#84). | |
</action> | |
<action issue="LOG4J2-1801" dev="rpopma" type="update"> | |
Add more detail to WARN "Ignoring log event" messages printed to the console after log4j was shut down. | |
</action> | |
<action issue="LOG4J2-1814" dev="rpopma" type="add"> | |
Added wrapper classes CustomLoggerGenerator and ExtendedLoggerGenerator to avoid class name with a dollar ($) character which has special meaning in many *nix command line environments. | |
</action> | |
<action issue="LOG4J2-1884" dev="rpopma" type="add"> | |
Added process ID (pid) pattern converter. | |
</action> | |
<action issue="LOG4J2-1926" dev="rpopma" type="update"> | |
Facilitate log4j use in Android applications: remove dependency on RMI and Management APIs from log4j-api. | |
</action> | |
<action issue="LOG4J2-1699" dev="ggregory" type="add" due-to="Demetrios Dimatos, Pierrick HYMBERT"> | |
Configurable Log File Permissions with PosixFilePermission. | |
</action> | |
<action issue="LOG4J2-1945" dev="ggregory" type="add"> | |
Generate source jas for all test jars. | |
</action> | |
<action issue="LOG4J2-1934" dev="ggregory" type="add"> | |
JMS Appender does not know how to recover from a broken connection. | |
</action> | |
<action issue="LOG4J2-1955" dev="ggregory" type="add"> | |
JMS Appender should be able connect to a broker (later) even it is not present at configuration time. | |
</action> | |
<action issue="LOG4J2-1956" dev="ggregory" type="update"> | |
JMS Appender broker password should be a char[], not a String. | |
</action> | |
<action issue="LOG4J2-1874" dev="rpopma" type="add" due-to="Roman Leventov"> | |
Added methods ::writeBytes(ByteBuffer) and ::writeBytes(byte[], int, int) to ByteBufferDestination interface and use these methods in TextEncoderHelper where possible to prepare for future enhancements to reduce lock contention. | |
</action> | |
<action issue="LOG4J2-1912" dev="ggregory" type="fix" due-to="R Ri"> | |
CompositeConfiguration logs warning "Unable to determine URI for configuration." However, the reconfiguration is completed. | |
</action> | |
<action issue="LOG4J2-1964" dev="ggregory" type="fix" due-to="Pierrick HYMBERT"> | |
Dynamic reconfiguration does not work for filePattern of RollingFile. | |
</action> | |
<action issue="LOG4J2-1961" dev="ggregory" type="fix" due-to="Christian Vent"> | |
Reconfigure breaks DirectWriteRolloverStrategy. | |
</action> | |
<action issue="LOG4J2-1943" dev="rgoers" type="fix"> | |
The eventPrefix attribute was being ignored in the RFC5424Layout. | |
</action> | |
<action issue="LOG4J2-1953" dev="ggregory" type="fix"> | |
JndiManager is not released when the JmsAppender builder catches an exception trying to build itself. | |
</action> | |
<action issue="LOG4J2-1911" dev="rgoers" type="fix"> | |
Improve the documentation of the DynamicThresholdFilter. | |
</action> | |
<action issue="LOG4J2-1929" dev="ggregory" type="fix" due-to="Borys Sokolov"> | |
EOFException with FormattedMessage. | |
</action> | |
<action issue="LOG4J2-1948" dev="ggregory" type="fix" due-to="Michael Lück"> | |
Trim levels read from properties file to remove trailing spaces. | |
</action> | |
<action issue="LOG4J2-1971" dev="ggregory" type="fix" due-to="liwenxian2017"> | |
ClassCastException: org.eclipse.osgi.internal.loader.SystemBundleLoader$1 cannot be cast to java.lang.ClassLoader. | |
</action> | |
<action issue="LOG4J2-1442" dev="mikes" type="add"> | |
Generic HTTP appender. | |
</action> | |
<action issue="LOG4J2-1935" dev="ggregory" type="add"> | |
Add with(String, primitive) methods to org.apache.logging.log4j.message.MapMessage. | |
</action> | |
<action issue="LOG4J2-1930" dev="ggregory" type="add"> | |
Add forEach() methods to org.apache.logging.log4j.message.MapMessage. | |
</action> | |
<action issue="LOG4J2-1932" dev="ggregory" type="add"> | |
Add containsKey() methods to org.apache.logging.log4j.message.MapMessage. | |
</action> | |
<action issue="LOG4J2-1917" dev="rgoers" type="update"> | |
Support using java.util.ServiceLoader to locate Log4j 2 API providers. | |
</action> | |
<action issue="LOG4J2-1966" dev="ggregory" type="update" due-to="M Sazzadul Hoque"> | |
Include separator option of PatternLayout in manual (and other updates). | |
</action> | |
<action issue="LOG4J2-1854" dev="mikes" type="add" due-to="Xavier Jodoin"> | |
Support null byte delimiter in GelfLayout. | |
</action> | |
<action issue="LOG4J2-1359" dev="rgoers" type="add"> | |
Add support for Java 9 StackWalker. | |
</action> | |
<action issue="LOG4J2-1880" dev="mikes" type="add"> | |
Warn when a configuration file for an inactive ConfigurationFactory is found. | |
</action> | |
<action issue="LOG4J2-1855" dev="mattsicker" type="add" due-to="Anthony Maire"> | |
Add an optional random delay in TimeBasedTriggeringPolicy | |
</action> | |
<action issue="LOG4J2-1876" dev="mikes" type="fix"> | |
More reliable checking for runtime dependencies. | |
</action> | |
<action issue="LOG4J2-1867" dev="mikes" type="fix"> | |
Fix configuration documentation. | |
</action> | |
<action issue="LOG4J2-1858" dev="rpopma" type="fix"> | |
Ensure the ThreadLocal StringBuilder in ParameterizedMessage won't hold excessively much memory after logging a long message. | |
</action> | |
<action issue="LOG4J2-1885" dev="mattsicker" type="fix"> | |
Fix documentation about default additivity value for loggers. | |
</action> | |
<action issue="LOG4J2-1920" dev="ggregory" type="fix" due-to="Ajitha"> | |
ScriptEngineManager is not available in Android and causes a NoClassDefFoundError. | |
</action> | |
<action issue="LOG4J2-1989" dev="ggregory" type="fix" due-to="Kenneth McFarland"> | |
Clarify Javadoc for AbstractTriggeringPolicy. | |
</action> | |
<action issue="LOG4J2-1993" dev="ggregory" type="fix" due-to="Kenneth McFarland"> | |
Fix compiler warnings in LoggerConfigTest. | |
</action> | |
<action issue="LOG4J2-1851" dev="mikes" type="update"> | |
Move server components from log4j-core to new log4-server module. | |
</action> | |
<action issue="LOG4J2-1860" dev="mikes" type="add"> | |
Shortcut to add Property and KeyValuePair component in ConfigurationBuilder. | |
</action> | |
<action issue="LOG4J2-1294" dev="ggregory" type="add"> | |
The JMS Appender should use a JMS MapMessage for a Log4j MapMessage. | |
</action> | |
<action issue="LOG4J2-1991" dev="ggregory" type="update" due-to=""> | |
Refactor SimpleMessage to be concise and clear (#100) | |
</action> | |
<action issue="LOG4J2-2017" dev="ggregory" type="update"> | |
Update Jackson from 2.8.9 to 2.9.0. | |
</action> | |
<action issue="LOG4J2-1868" dev="ggregory" type="update"> | |
Update ZeroMQ's JeroMQ from 0.3.6 to 0.4.0. | |
</action> | |
<action issue="LOG4J2-1960" dev="ggregory" type="update"> | |
Update ZeroMQ's JeroMQ from 0.4.0 to 0.4.1. | |
</action> | |
<action issue="LOG4J2-1974" dev="ggregory" type="update"> | |
Update ZeroMQ's JeroMQ from 0.4.1 to 0.4.2. | |
</action> | |
<action issue="LOG4J2-1869" dev="ggregory" type="update"> | |
Update Kafka client from 0.10.1.1 to 0.10.2.0 | |
</action> | |
<action issue="LOG4J2-1962" dev="ggregory" type="update"> | |
Update Kafka client from 0.10.2.0 to 0.11.0.0 | |
</action> | |
<action issue="LOG4J2-1872" dev="ggregory" type="update"> | |
Update JavaMail from 1.5.5 to 1.5.6. | |
</action> | |
<action issue="LOG4J2-1879" dev="ggregory" type="update"> | |
Update JAnsi from 1.14 to 1.15. | |
</action> | |
<action issue="LOG4J2-1877" dev="ggregory" type="update" due-to="Chandra Tungathurthi"> | |
Missing documentation for Max index limit in DefaultRolloverStrategy. | |
</action> | |
<action issue="LOG4J2-1899" dev="ggregory" type="update"> | |
Add missing getters to classes in package org.apache.logging.log4j.core.net.ssl. | |
</action> | |
<action issue="LOG4J2-1900" dev="ggregory" type="update"> | |
Update JAnsi from 1.15 to 1.16. | |
</action> | |
<action issue="LOG4J2-" dev="ggregory" type="update"> | |
Update SLF4J from 1.7.24 to 1.7.25. | |
</action> | |
<action issue="LOG4J2-1938" dev="ggregory" type="update"> | |
Update Jackson from 2.8.7 to 2.8.9. | |
</action> | |
<action issue="LOG4J2-1970" dev="rpopma" type="update"> | |
Update HdrHistogram from 2.1.8 to 2.1.9. | |
</action> | |
<action issue="LOG4J2-1975" dev="ggregory" type="update"> | |
Update javax.persistence from 2.1.0 to 2.1.1. | |
</action> | |
<action issue="LOG4J2-1976" dev="ggregory" type="update"> | |
Update org.osgi.core from 4.3.1 to 6.0.0. | |
</action> | |
</release> | |
<release version="2.8.2" date="2017-04-02" description="GA Release 2.8.2"> | |
<action issue="LOG4J2-1861" dev="mattsicker" type="fix"> | |
Fix JavaDoc on org.apache.logging.log4j.ThreadContext about inheritance. | |
</action> | |
<action issue="LOG4J2-1862" dev="mattsicker" type="fix" due-to="wangyuntao"> | |
Fix JavaDoc about @Order and OrderComparator ordering. | |
</action> | |
<action issue="LOG4J2-1849" dev="rpopma" type="fix"> | |
Fixed daylight savings time (DST) issue with FixedDateFormat. | |
</action> | |
<action issue="LOG4J2-1850" dev="mattsicker" type="fix" due-to="Ludovic Hochet"> | |
Fix CassandraRule and unit tests on Windows. | |
</action> | |
<action issue="LOG4J2-1840" dev="mattsicker" type="fix" due-to="Pradeep Balasundaram"> | |
Fix typo in %replace converter documentation. | |
</action> | |
<action issue="LOG4J2-1846" dev="mikes" type="fix"> | |
Handle when LogEvent.getLoggerName() returns null in LoggerNameLevelRewritePolicy. | |
</action> | |
<action issue="LOG4J2-1845" dev="mikes" type="fix"> | |
Handle when LogEvent.getLoggerName() returns null in KafkaAppender. | |
</action> | |
<action issue="LOG4J2-1853" dev="ggregory" type="fix" due-to="wangyuntao"> | |
The default value of RandomAccessFileAppender.Builder append field is wrong. | |
</action> | |
<action issue="LOG4J2-1863" dev="mattsicker" type="add"> | |
Add support for filtering input in TcpSocketServer and UdpSocketServer. | |
</action> | |
<action issue="LOG4J2-1848" dev="mattsicker" type="add"> | |
Add JSON encoding support to EncodingPatternConverter %encode{}. | |
</action> | |
<action issue="LOG4J2-1843" dev="mattsicker" type="add" due-to="Zilong Song"> | |
Add support for appending common suffix to each line of throwable stack trace. | |
</action> | |
<action issue="LOG4J2-1838" dev="mattsicker" type="add" due-to="Zilong Song"> | |
Add support for appending common suffix to each line of extended and root throwable stack trace. | |
</action> | |
<action issue="LOG4J2-1827" dev="rgoers" type="update"> | |
Move integration tests to their own module to speed up build. | |
</action> | |
<action issue="LOG4J2-1835" dev="mattsicker" type="fix"> | |
Fix documentation about the licensing for JeroMQ. | |
</action> | |
<action issue="LOG4J2-1836" dev="rgoers" type="fix"> | |
Update the API version to 2.6.0. | |
</action> | |
<action issue="LOG4J2-1831" dev="ggregory" type="fix" due-to="Edward Serebrinskiy"> | |
NullPointerException in HtmlLayout. | |
</action> | |
<action issue="LOG4J2-1820" dev="ggregory" type="fix" due-to="Jason Tedor"> | |
Log4j 2.8 can lose exceptions when a security manager is present. | |
</action> | |
<action issue="LOG4J2-1856" dev="ggregory" type="update"> | |
Update Jackson from 2.8.6 to 2.8.7. | |
</action> | |
</release> | |
<release version="2.8.1" date="2017-02-26" description="GA Release 2.8.1"> | |
<action issue="LOG4J2-1804" dev="rgoers" type="fix" due-to="Pierrick Hymbert"> | |
Allow %i in file pattern to be preceded with characters other than just '-'. | |
</action> | |
<action issue="LOG4J2-1822" dev="rgoers" type="update"> | |
Update SLF4J to 1.7.24. | |
</action> | |
<action issue="LOG4J2-1812" dev="rpopma" type="update"> | |
Improved error message when log4j 2 configuration file not found. | |
</action> | |
<action issue="LOG4J2-1810" dev="rgoers" type="update"> | |
Update to use Logback 1.1.10 and then Logback 1.2 for tests. | |
</action> | |
<action issue="LOG4J2-1819" dev="ggregory" type="update"> | |
Update Jackson from 2.8.5 to 2.8.6. | |
</action> | |
<action issue="LOG4J2-1753" dev="ggregory" type="fix" due-to="Ludovic Hochet"> | |
Fix ClassNotFoundException org.apache.logging.log4j.core.util.ExecutorServices in OSGi tests. | |
</action> | |
<action issue="LOG4J2-1816" dev="rpopma" type="fix" due-to="shubhankar1100"> | |
Change minOccur to minOccurs in Log4j-config.xsd. | |
</action> | |
<action issue="LOG4J2-1803" dev="rgoers" type="fix"> | |
Fix Maven POM to ensure JMH generated classes in log4j-perf are included in benchmarks jar. | |
</action> | |
<action issue="LOG4J2-1800" dev="mikes" type="fix" due-to="Vincent Tieleman"> | |
Report errors when sending to Kafka when using syncSend=false. | |
</action> | |
<action issue="LOG4J2-1805" dev="rpopma" type="fix"> | |
Fixed rare race condition in FixedDateFormat, made FixedDateFormat::millisSinceMidnight method public. | |
</action> | |
<action issue="LOG4J2-1799" dev="rpopma" type="fix" due-to="Eduard Gizatullin"> | |
Fixed bug in PropertiesUtil::getCharsetProperty that caused UnsupportedCharsetException for ConsoleAppender. | |
</action> | |
<action issue="LOG4J2-1806" dev="rpopma" type="fix" due-to="challarao"> | |
Fix Javadoc for DefaultRolloverStrategy::purgeAscending | |
</action> | |
<action issue="LOG4J2-1818" dev="ggregory" type="fix" due-to="xkr47"> | |
Fix rollover to work when filePattern contains no directory components. | |
</action> | |
<action issue="LOG4J2-1823" dev="mattsicker" type="add"> | |
Remove deprecation on MessageSupplier lambda functions in Logger API. | |
</action> | |
<action issue="LOG4J2-1807" dev="ggregory" type="add"> | |
[core] Add and implement LogEvent.toImmutable(). | |
</action> | |
</release> | |
<release version="2.8" date="2017-01-21" description="GA Release 2.8"> | |
<action issue="LOG4J2-1780" dev="mikes" type="fix"> | |
Eliminate the use of the ExecutorServices in the LoggerContext. | |
</action> | |
<action issue="LOG4J2-1032" dev="rgoers" type="add"> | |
Make DefaultRolloverStrategy more efficient when renaming files. Add nomax option to the fileIndex attribute. | |
</action> | |
<action issue="LOG4J2-1101" dev="rgoers" type="add"> | |
RollingFileAppender now supports omitting the file name and writing directly to the archive files. | |
</action> | |
<action issue="LOG4J2-1786" dev="rpopma" type="fix"> | |
ConfigurationScheduler now preserves interrupt flag during stop. | |
</action> | |
<action issue="LOG4J2-1243" dev="rgoers" type="add"> | |
Allow default value in property to be a Lookup. | |
</action> | |
<action issue="LOG4J2-1779" dev="rpopma" type="fix"> | |
Fixed bug where AsyncLogger did not resolve configuration properties. | |
</action> | |
<action issue="LOG4J2-1769" dev="rpopma" type="fix" due-to="Brandon Goodin"> | |
Fixed concurrency issue affecting all layouts except PatternLayout and GelfLayout, which caused scrambled output and exceptions when logging synchronously from multiple threads. | |
</action> | |
<action issue="LOG4J2-1724" dev="mikes" type="fix" due-to="Alexander Krasnostavsky"> | |
Using variables in GelfLayout's additional fields at runtime. | |
</action> | |
<action issue="LOG4J2-1762" dev="mikes" type="fix"> | |
Add Builder to GelfLayout. | |
</action> | |
<action issue="LOG4J2-1649" dev="rgoers" type="fix" due-to="Georg Friedrich"> | |
Insure the ConfigurationScheduler shuts down without blocking. | |
</action> | |
<action issue="LOG4J2-1653" dev="rgoers" type="fix" due-to=" Georg Friedrich"> | |
CronTriggeringPolicy would use the wrong date/time when rolling over and create multiple triggering policies on reconfiguration. | |
</action> | |
<action issue="LOG4J2-1748" dev="mikes" type="fix"> | |
Do not use non-daemon thread pool for rollover tasks. | |
</action> | |
<action issue="LOG4J2-1628" dev="rpopma" type="fix"> | |
Fixed file locking regression in FileAppender introduced in 2.6. | |
</action> | |
<action issue="LOG4J2-1744" dev="rpopma" type="fix"> | |
The custom logger Generate tool no longer requires the log4j-api module on the classpath. | |
</action> | |
<action issue="LOG4J2-1731" dev="rpopma" type="fix" due-to="Chris Ribble"> | |
SslSocketManager now respects connectTimeoutMillis. | |
</action> | |
<action issue="LOG4J2-1682" dev="ggregory" type="fix" due-to="Markus Waidhofer"> | |
Logger using LocalizedMessageFactory prints key instead of message. | |
</action> | |
<action issue="LOG4J2-1720" dev="mikes" type="fix"> | |
Make GelfLayout independent of Jackson. | |
</action> | |
<action issue="LOG4J2-1719" dev="rpopma" type="fix"> | |
Fixed race condition in ObjectMessage and SimpleMessage, ensuring that the log message contains the value the object has during the logging call. | |
</action> | |
<action issue="LOG4J2-1688" dev="rpopma" type="fix"> | |
Fixed bug where elements of a log message parameter array were nulled out in garbage-free mode. | |
</action> | |
<action issue="LOG4J2-1692" dev="mikes" type="fix" due-to="Greg Thomas"> | |
Add putAll() method to CloseableThreadContext. | |
</action> | |
<action issue="LOG4J2-1689" dev="mikes" type="fix"> | |
Add CleanableThreadContextMap interface supporting method removeAll(Iterable<String>). | |
</action> | |
<action issue="LOG4J2-1685" dev="mikes" type="fix" due-to="Raman Gupta"> | |
Option 'disableAnsi' in PatternLayout to unconditionally disable ANSI escape codes. | |
</action> | |
<action issue="LOG4J2-1706" dev="rpopma" type="fix"> | |
Make TimeFilter usable as global filter and as logger filter. | |
</action> | |
<action issue="LOG4J2-1722" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in VariablesNotEmptyReplacementConverter. | |
</action> | |
<action issue="LOG4J2-1717" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in EncodingPatternConverter. | |
</action> | |
<action issue="LOG4J2-1716" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MapPatternConverter. (Note that constructing a MapMessage is not garbage-free.) | |
</action> | |
<action issue="LOG4J2-1683" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MapMessage. | |
</action> | |
<action issue="LOG4J2-1715" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in NdcPatternConverter. (Note that use of the ThreadContext stack is not garbage-free.) | |
</action> | |
<action issue="LOG4J2-1714" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in AbstractStyleNameConverter. | |
</action> | |
<action issue="LOG4J2-1680" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in TimeFilter. | |
</action> | |
<action issue="LOG4J2-1679" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in StructuredDataFilter. | |
</action> | |
<action issue="LOG4J2-1678" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in ThreadContextMapFilter. | |
</action> | |
<action issue="LOG4J2-1677" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MapFilter. | |
</action> | |
<action issue="LOG4J2-1674" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in ThresholdFilter. | |
</action> | |
<action issue="LOG4J2-1673" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MarkerFilter. | |
</action> | |
<action issue="LOG4J2-1672" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in LevelRangeFilter. | |
</action> | |
<action issue="LOG4J2-1671" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in EqualsIgnoreCaseReplacementConverter. | |
</action> | |
<action issue="LOG4J2-1670" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in EqualsReplacementConverter. | |
</action> | |
<action issue="LOG4J2-1669" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MaxLengthConverter. | |
</action> | |
<action issue="LOG4J2-1668" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in MarkerPatternConverter. | |
</action> | |
<action issue="LOG4J2-1667" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in SequenceNumberPatternConverter. | |
</action> | |
<action issue="LOG4J2-1666" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in RelativeTimePatternConverter. | |
</action> | |
<action issue="LOG4J2-1665" dev="rpopma" type="fix"> | |
(GC) Avoid allocating temporary objects in IntegerPatternConverter. | |
</action> | |
<action issue="LOG4J2-1637" dev="rpopma" type="fix"> | |
Fixed problems when used in OSGi containers (IllegalAccessError, NoClassDefFoundError). | |
</action> | |
<action issue="LOG4J2-1226" dev="rpopma" type="fix"> | |
Improve LogEvent serialization to handle non-serializable Messages and deserializing when required classes are missing. | |
</action> | |
<action issue="LOG4J2-1663" dev="rpopma" type="fix"> | |
Ensure SortedArrayStringMap can be serialized and deserialized without errors regardless of content. | |
</action> | |
<action issue="LOG4J2-1658" dev="rpopma" type="fix"> | |
Prevent NPE in ThreadContextMapFactory::createThreadContextMap when initializing Log4j with Configurator::initialize and the BasicContextSelector is used. | |
</action> | |
<action issue="LOG4J2-1645" dev="mikes" type="fix"> | |
Immutable empty StringMap. | |
</action> | |
<action issue="LOG4J2-1623" dev="mikes" type="fix"> | |
Configurable JVM shutdown hook timeout. | |
</action> | |
<action issue="LOG4J2-1712" dev="ggregory" type="fix"> | |
Pick up bug fixes from Apache Commons Lang's org.apache.commons.lang3.time package. | |
</action> | |
<action issue="LOG4J2-1636" dev="ggregory" type="fix" due-to="Eldar Gabdullin"> | |
Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and sun.stderr.encoding. | |
</action> | |
<action issue="LOG4J2-1639" dev="ggregory" type="fix" due-to="Sridhar Gopinath"> | |
Fix MemoryMappedFileAppender.createAppender() Javadoc for immediateFlush. | |
</action> | |
<action issue="LOG4J2-1676" dev="ggregory" type="fix" due-to="Joern Huxhorn"> | |
Some LogEvents may not carry a Throwable (Use Message.getThrowable() in log(Message) methods.) | |
</action> | |
<action issue="LOG4J2-1723" dev="ggregory" type="fix" due-to="Ludovic HOCHET"> | |
Unwanted transitive dependency on geronimo-jms_1.1_spec causes OSGi tests to fail. | |
</action> | |
<action issue="LOG4J2-1664" dev="ggregory" type="fix" due-to="Ludovic HOCHET"> | |
Improve OSGi unit tests. | |
</action> | |
<action issue="LOG4J2-1687" dev="ggregory" type="fix" due-to="Robert Christiansen"> | |
NPE in ThrowableProxy when resolving stack in Java EE/OSGi environment. | |
</action> | |
<action issue="LOG4J2-1642" dev="ggregory" type="fix" due-to="Johno Crawford"> | |
DefaultShutdownCallbackRegistry can throw a NoClassDefFoundError. | |
</action> | |
<action issue="LOG4J2-1474" dev="ggregory" type="fix" due-to="yin mingjun, Neon"> | |
CronTriggeringPolicy raise exception and fail to rollover log file when evaluateOnStartup is true. | |
</action> | |
<action issue="LOG4J2-1734" dev="ggregory" type="fix"> | |
SslSocketManagerFactory might leak Sockets when certain startup errors occur. | |
</action> | |
<action issue="LOG4J2-1736" dev="ggregory" type="fix"> | |
TcpSocketManagerFactory might leak Sockets when certain startup errors occur. | |
</action> | |
<action issue="LOG4J2-1740" dev="ggregory" type="fix"> | |
Add CronTriggeringPolicy programmatically leads to NPE. | |
</action> | |
<action issue="LOG4J2-1743" dev="ggregory" type="fix" due-to="Toby Shepheard"> | |
CompositeConfiguration does not add filters to appenderRefs. | |
</action> | |
<action issue="LOG4J2-1756" dev="ggregory" type="fix" due-to="shubhankar1100"> | |
Adds xmlns in schema and some other tags. | |
</action> | |
<action issue="LOG4J2-1781" dev="mattsicker" type="update"> | |
Update Conversant Disruptor from 1.2.7 to 1.2.10 | |
</action> | |
<action issue="LOG4J2-1774" dev="mattsicker" type="update"> | |
Replace MockEJB dependency in unit tests with Spring Test and Mockito. | |
</action> | |
<action issue="LOG4J2-1644" dev="ggregory" type="update" due-to="Tim Gokcen, Pavel Sivolobtchik"> | |
Inefficient locking in AbstractLoggerAdapter. | |
</action> | |
<action issue="LOG4J2-1641" dev="ggregory" type="update"> | |
Update JeroMQ from 0.3.5 to 0.3.6. | |
</action> | |
<action issue="LOG4J2-1647" dev="mattsicker" type="update"> | |
Update Commons Lang from 3.4 to 3.5. | |
</action> | |
<action issue="LOG4J2-1646" dev="mattsicker" type="update"> | |
Migrate to Mockito 2.x in unit tests. | |
</action> | |
<action issue="LOG4J2-1655" dev="ggregory" type="update"> | |
Update Jackson from 2.8.3 to 2.8.4. | |
</action> | |
<action issue="LOG4J2-1735" dev="ggregory" type="update"> | |
Update Jackson from 2.8.4 to 2.8.5. | |
</action> | |
<action issue="LOG4J2-1656" dev="ggregory" type="update"> | |
Update Apache Flume from 1.6.0 to 1.7.0. | |
</action> | |
<action issue="LOG4J2-1698" dev="ggregory" type="update"> | |
Update LMAX Disruptor from 3.3.5 to 3.3.6. | |
</action> | |
<action issue="LOG4J2-1700" dev="ggregory" type="update"> | |
Update Jansi from 1.13 to 1.14. | |
</action> | |
<action issue="LOG4J2-1750" dev="ggregory" type="update"> | |
Update Kafka from 0.10.0.1 to 0.10.1.1. | |
</action> | |
<action issue="LOG4J2-1751" dev="ggregory" type="update"> | |
Update liquibase-core from 3.5.1 to 3.5.3. | |
</action> | |
<action issue="LOG4J2-1302" dev="rpopma" type="update"> | |
The log4j-slf4j-impl module now declares a runtime dependency on log4j-core. While not technically required, this makes the log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates migration to Log4j 2. | |
</action> | |
<action issue="LOG4J2-1787" dev="mattsicker" type="add"> | |
Document how to exclude transitive conflicting dependencies in Maven and Gradle. | |
</action> | |
<action issue="LOG4J2-1773" dev="mattsicker" type="add"> | |
Add StatusLoggerRule to allow unit tests to set a status level. | |
</action> | |
<action issue="LOG4J2-424" dev="mattsicker" type="add"> | |
Add non-string data type support to JdbcAppender via new ColumnMapping plugin. | |
</action> | |
<action issue="LOG4J2-1771" dev="mattsicker" type="add"> | |
Add a Builder to ColumnConfig and deprecate ColumnConfig.createColumnConfig(). | |
</action> | |
<action issue="LOG4J2-1770" dev="mattsicker" type="add"> | |
Add a Builder to JdbcAppender and deprecate JdbcAppender.createAppender(). | |
</action> | |
<action issue="LOG4J2-1764" dev="mattsicker" type="add"> | |
Use MethodHandle in ContextDataFactory cached constructor. | |
</action> | |
<action issue="LOG4J2-1730" dev="mattsicker" type="add"> | |
Add Apache Cassandra appender and ColumnMapping plugin. | |
</action> | |
<action issue="LOG4J2-1759" dev="mattsicker" type="add"> | |
Add TypeConverter for java.util.UUID. | |
</action> | |
<action issue="LOG4J2-1758" dev="mattsicker" type="add"> | |
Add TypeConverter for java.nio.file.Path. | |
</action> | |
<action issue="LOG4J2-1755" dev="mattsicker" type="add"> | |
Add TypeConverter and constraint validators for java.net.InetAddress and port numbers. | |
</action> | |
<action issue="LOG4J2-969" dev="ggregory" type="add"> | |
Refactor SyslogAppender so that Layout is a Plugin element. | |
</action> | |
<action issue="LOG4J2-1660" dev="rpopma" type="add"> | |
Added public method ThreadContext::getThreadContextMap; removed class ThreadContextAccess. | |
</action> | |
<action issue="LOG4J2-1379" dev="mattsicker" type="add"> | |
Add documentation regarding YAML configuration format. | |
</action> | |
<action issue="LOG4J2-1718" dev="rpopma" type="add"> | |
Introduce marker interface AsynchronouslyFormattable. | |
</action> | |
<action issue="LOG4J2-1681" dev="rpopma" type="add"> | |
Introduce interfaces IndexedStringMap and IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map. | |
</action> | |
<action issue="LOG4J2-1695" dev="ggregory" type="add"> | |
Add a Builder to ScriptPatternSelector and deprecate ScriptPatternSelector.createSelector(). | |
</action> | |
<action issue="LOG4J2-1696" dev="ggregory" type="add"> | |
Add a Builder to MarkerPatternSelector and deprecate MarkerPatternSelector.createSelector(). | |
</action> | |
<action issue="LOG4J2-1697" dev="ggregory" type="add"> | |
Add a SerializerBuilder to PatternLayout and deprecate PatternLayout.createSerializer(). | |
</action> | |
<action issue="LOG4J2-1701" dev="ggregory" type="add"> | |
Add a Builder to RandomAccessFileAppender and deprecate RandomAccessFileAppender.createAppender(). | |
</action> | |
<action issue="LOG4J2-1703" dev="ggregory" type="add"> | |
Add a Builder to MemoryMappedFileAppender and deprecate MemoryMappedFileAppender.createAppender(). | |
</action> | |
<action issue="LOG4J2-1704" dev="ggregory" type="add"> | |
Add a Builder to RollingRandomAccessFileAppender and deprecate RollingRandomAccessFileAppender.createAppender(). | |
</action> | |
<action issue="LOG4J2-1709" dev="ggregory" type="add"> | |
Add a Builder to SyslogAppender and deprecate SyslogAppender.createAppender(). | |
</action> | |
<action issue="LOG4J2-1707" dev="ggregory" type="add"> | |
Allow TCP Socket Appender to set socket options. | |
</action> | |
<action issue="LOG4J2-1708" dev="ggregory" type="add"> | |
Allow Secure Socket Appender to set socket options. | |
</action> | |
<action issue="LOG4J2-1737" dev="ggregory" type="add"> | |
Add a Builder to SyslogLayout and deprecate SyslogLayout.createLayout(Facility, boolean, String, Charset). | |
</action> | |
<action issue="LOG4J2-1738" dev="ggregory" type="add"> | |
Add a Builder to JsonLayout and deprecate org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, boolean, boolean, boolean, boolean, boolean, boolean, String, String, Charset, boolean). | |
</action> | |
<action issue="LOG4J2-1739" dev="ggregory" type="add"> | |
Add Builder to KafkaAppender and deprecate KafkaAppender.createAppender(Layout, Filter, String, boolean, String, Property[], Configuration). | |
</action> | |
<action issue="LOG4J2-1733" dev="ggregory" type="add" due-to="Vincent Tieleman"> | |
Add SyncSend attribute to KafkaAppender (as in KafkaLog4jAppender). | |
</action> | |
<action issue="LOG4J2-2195" dev="ggregory" type="fix" due-to="Raman Gupta, Gary Gregory"> | |
Cannot define both `filters` and `separator` for PatternLayout %xEx. | |
</action> | |
<action issue="LOG4J2-2221" dev="ggregory" type="fix" due-to="Raman Gupta, Gary Gregory"> | |
RootThrowablePatternConverter does not use TextRenderer or line separator options. | |
</action> | |
</release> | |
<release version="2.7" date="2016-10-02" description="GA Release 2.7"> | |
<action issue="LOG4J2-1618" dev="rpopma" type="fix" due-to="Raman Gupta"> | |
Fixed ClassCastException when using JUL logging during shutdown. | |
</action> | |
<action issue="LOG4J2-1620" dev="ggregory" type="fix" due-to="Sascha Scholz"> | |
2.7-rc1: RollingFileAppender immediateFlush default value should be true, not false. | |
</action> | |
<action issue="LOG4J2-1611" dev="rpopma" type="fix"> | |
Improved performance of context data injector for web applications to be on par with standalone applications. | |
</action> | |
<action issue="LOG4J2-1591" dev="rpopma" type="fix"> | |
Introduced new interface LifeCycle2 with stop(long,TimeUnit) method to avoid breaking backwards compatibility with new Configurator.shutdown(LoggerContext, long, TimeUnit) API. | |
</action> | |
<action issue="LOG4J2-1590" dev="rpopma" type="fix"> | |
Fixed issue with filters extending AbstractFilter that did not override methods with unrolled varargs. | |
</action> | |
<action issue="LOG4J2-1583" dev="rpopma" type="fix" due-to="Larry West"> | |
Fixed scrambled log messages triggered by nested logging from toString() method of a logging parameter object. | |
</action> | |
<action issue="LOG4J2-1259" dev="ggregory" type="fix" due-to="Misagh Moayyed, Steffen Offermann"> | |
Log4j threads are no longer leaking on Tomcat shutdown. | |
</action> | |
<action issue="LOG4J2-1051" dev="rpopma" type="fix" due-to="Lukasz Lenart"> | |
When starting on Google App Engine, Interpolator now suppresses the NoClassDefFoundError stack trace for the jvmrunargs lookup. | |
</action> | |
<action issue="LOG4J2-1582" dev="rpopma" type="fix"> | |
When initializing on platforms where JMX is not available, Interpolator component no longer prints stack trace for warning messages. | |
</action> | |
<action issue="LOG4J2-1581" dev="rpopma" type="fix"> | |
Unregistering JMX components no longer prints a stack trace when the MBean has already been unregistered. | |
</action> | |
<action issue="LOG4J2-1313" dev="rpopma" type="fix" due-to="Philipp Knobel, Leon Finker"> | |
Support Property values to be specified in configuration as a value attribute as well as an element. | |
</action> | |
<action issue="LOG4J2-1575" dev="rpopma" type="fix"> | |
(GC) LoggerConfig now stores configuration properties in a List, not a Map to prevent creating temporary Iterator objects. Added method LoggerConfig#getPropertyList(), deprecated method #getProperties(). | |
</action> | |
<action issue="LOG4J2-1457" dev="mattsicker" type="fix" due-to="Leon Finker"> | |
Fixed class loader deadlock when using async logging and extended stack trace pattern. | |
</action> | |
<action issue="LOG4J2-1563" dev="ggregory" type="fix" due-to="Jason Tedor"> | |
Fix to prevent Log4j 2.6.2 and higher from losing exceptions when a security manager is present. | |
</action> | |
<action issue="LOG4J2-1530" dev="mikes" type="fix"> | |
Fixed issue where LogEvent.getContextStack() returned null. | |
</action> | |
<action issue="LOG4J2-1518" dev="rpopma" type="fix" due-to="Leon Finker"> | |
Prevent deadlock in Async Loggers when queue is full and logged Object's toString() logs another message. | |
</action> | |
<action issue="LOG4J2-1542" dev="rpopma" type="fix" due-to="Rogério Lecarião Leite"> | |
Prevent ArrayIndexOutOfBoundsException in ParameterizedMessage.formatTo for single-char or empty messages. | |
</action> | |
<action issue="LOG4J2-1549" dev="mikes" type="fix" due-to="Jason Bedard"> | |
Fixed issue where AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to includeLocation=true. | |
</action> | |
<action issue="LOG4J2-1562" dev="ggregory" type="fix"> | |
Prevent SocketAppender memory usage from growing unbounded if it cannot connect to a server. | |
</action> | |
<action issue="LOG4J2-1559" dev="ggregory" type="fix" due-to="Andrey Plotkin"> | |
Prevent NPE in Level.isInRange. | |
</action> | |
<action issue="LOG4J2-1511" dev="ggregory" type="fix" due-to="Srikanth Surukuntu"> | |
DynamicThresholdFilter filtered incorrectly when params were passed as individual arguments instead of varargs. | |
</action> | |
<action issue="LOG4J2-1548" dev="ggregory" type="fix"> | |
[CronTriggeringPolicy] ConfigurationScheduler scheduled the task infinitely after first fire. | |
</action> | |
<action issue="LOG4J2-1506" dev="ggregory" type="fix" due-to="Johannes Schleger"> | |
Log4j should not unregister JMX MBeans when log4j2.disable.jmx property is true. | |
</action> | |
<action issue="LOG4J2-1490" dev="ggregory" type="fix" due-to="Krzysztof Taborski"> | |
Log4j2 should postpone creating log file until the appender actually receives an event. | |
</action> | |
<action issue="LOG4J2-1320" dev="ggregory" type="fix" due-to="Paresh Varke, Pierrick Hymbert"> | |
Support loading custom plugins from jar files and directories whose classpath entries use the "vfs" URL protocol. | |
</action> | |
<action issue="LOG4J2-1541" dev="ggregory" type="fix"> | |
Fix file handle resource leak in XmlConfiguration.XmlConfiguration(ConfigurationSource). | |
</action> | |
<action issue="LOG4J2-1538" dev="ggregory" type="fix" due-to="Igor Karpov"> | |
Prevent NPE when dynamically removing filters. | |
</action> | |
<action issue="LOG4J2-1532" dev="ggregory" type="fix"> | |
Attributes were not merged properly in composite configurations. | |
</action> | |
<action issue="LOG4J2-1529" dev="mattsicker" type="fix" due-to="Sridevi Narra"> | |
Attributes were not merged properly in composite configurations. | |
</action> | |
<action issue="LOG4J2-1527" dev="rpopma" type="fix" due-to="Jose Leon"> | |
Prevent NPE in RingBufferLogEvent.getFormattedMessage() when used in web applications. | |
</action> | |
<action issue="LOG4J2-905" dev="ggregory" type="fix" due-to="Moritz Löser"> | |
Added ability to disable (date) lookup completely for compatibility with other libraries like Camel. | |
</action> | |
<action issue="LOG4J2-1526" dev="mikes" type="fix"> | |
Added support for setting StatusLogger destination in ConfigurationBuilder. | |
</action> | |
<action issue="LOG4J2-1448" dev="rpopma" type="fix" due-to="Keith Laban"> | |
Allow comma separated agents, host list to be passed to FlumeAppender. | |
</action> | |
<action issue="LOG4J2-1500" dev="ggregory" type="fix" due-to="Jose Leon"> | |
Merging configurations failed with an NPE when comparing Nodes with different attributes. | |
</action> | |
<action issue="LOG4J2-1482" dev="ggregory" type="fix" due-to="Sumit Singhal"> | |
Fixed improper header in CsvParameterLayout. | |
</action> | |
<action issue="LOG4J2-1199" dev="rpopma" type="fix"> | |
Documented that JVM Input Arguments Lookup (JMX) is not available on Google App Engine. | |
</action> | |
<action issue="LOG4J2-1438" dev="rpopma" type="fix"> | |
(GC) Added method getParameter() to ObjectMessage (and ReusableObjectMessage). | |
</action> | |
<action issue="LOG4J2-1488" dev="rpopma" type="fix" due-to="Richard Zschech"> | |
(GC) Fixed ISO8601 %date conversion pattern with a period '.' separator for milliseconds is now garbage free. | |
</action> | |
<action issue="LOG4J2-1489" dev="rpopma" type="fix" due-to="Richard Zschech"> | |
(GC) Fixed %date conversion patterns with a timezone parameter are now garbage free. | |
</action> | |
<action issue="LOG4J2-1279" dev="rpopma" type="fix" due-to="Tony Baines"> | |
Prevent NullPointerException in FastDateParser$TimeZoneStrategy. | |
</action> | |
<action issue="LOG4J2-1341" dev="rpopma" type="fix" due-to="Richard Zschech"> | |
(GC) HighlightConverter and StyleConverter are now GC-free. | |
</action> | |
<action issue="LOG4J2-1467" dev="rpopma, ggregory" type="fix" due-to="Ralf, Gary Gregory"> | |
[OSGi] Fixed missing import package. | |
</action> | |
<action issue="LOG4J2-351" dev="rpopma, ggregory" type="fix" due-to="Roland Weiglhofer"> | |
[OSGi] Fixed wrong Fragment-Host in manifest files. | |
</action> | |
<action issue="LOG4J2-1313" dev="rpopma" type="fix" due-to="Philipp Knobel"> | |
Properties declared in configuration can now have their value either in the element body or in an attribute named "value". | |
</action> | |
<action issue="LOG4J2-1235" dev="ggregory" type="fix" due-to="Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky"> | |
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not working correctly. | |
</action> | |
<action issue="LOG4J2-1502" dev="ggregory" type="fix" due-to="Sumit Singhal"> | |
Fixed issue where CsvParameterLayout and CsvLogEventLayout inserted NUL characters if data starts with {, (, [ or " | |
</action> | |
<action issue="LOG4J2-1573" dev="ggregory" type="fix" due-to="Steffen Offermann"> | |
Layout is no longer optional. | |
</action> | |
<action issue="LOG4J2-1608" dev="ggregory" type="fix"> | |
ServletAppender does not provide throwable object to ServletContext. | |
</action> | |
<action issue="LOG4J2-1599" dev="ggregory" type="fix"> | |
Prevent potential NPE in org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder, char[], int, Object[], int, int[]). | |
</action> | |
<action issue="LOG4J2-1600" dev="ggregory" type="fix"> | |
Prevent potential NPE due to org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[], String, boolean, boolean, Configuration). | |
</action> | |
<action issue="LOG4J2-1601" dev="ggregory" type="fix"> | |
Prevent potential NPE due to org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript, PatternMatch[], String, boolean, boolean, Configuration). | |
</action> | |
<action issue="LOG4J2-1602" dev="ggregory" type="fix"> | |
Prevent potential NPE in org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object) when object is null. | |
</action> | |
<action issue="LOG4J2-1603" dev="ggregory" type="fix"> | |
Redo hashCode() and equals() methods in org.apache.logging.log4j.core.net.ssl classes. | |
</action> | |
<action issue="LOG4J2-1610" dev="ggregory" type="fix" due-to="Shubhankar"> | |
Add targetNamespace to log4j-config.xsd. GitHub #43. | |
</action> | |
<action issue="LOG4J2-1619" dev="ggregory" type="fix"> | |
new Log4jLogEvent().toString() throws an NPE. | |
</action> | |
<action issue="LOG4J2-1578" dev="ggregory" type="add"> | |
RoutingAppender can be configured with scripts. Add Script in a Routes element. | |
</action> | |
<action issue="LOG4J2-1597" dev="ggregory" type="add"> | |
Add a ScriptAppenderSelector to create an Appender specified by a Script. | |
</action> | |
<action issue="LOG4J2-1349" dev="rpopma" type="add"> | |
(GC) Added support for garbage-free ThreadContext map. Disabled by default, users need to enable this explicitly. | |
</action> | |
<action issue="LOG4J2-1447" dev="rpopma" type="add"> | |
(GC) Changed LogEvent's internal data structure for context data to be garbage-free. Added method LogEvent#getContextData(), deprecated method #getContextMap(). | |
</action> | |
<action issue="LOG4J2-1010" dev="rpopma" type="add" due-to="Mikael Ståldal"> | |
Users can now inject context data from other sources than ThreadContext. Values can be any Object, not just Strings. | |
</action> | |
<action issue="LOG4J2-1568" dev="mattsicker" type="add"> | |
Added support for java.util.concurrent.LinkedTransferQueue to AsyncAppender. | |
</action> | |
<action issue="LOG4J2-1430" dev="mattsicker" type="add" due-to="John Cairns"> | |
Added optional support for Conversant DisruptorBlockingQueue in AsyncAppender. | |
</action> | |
<action issue="LOG4J2-1439" dev="mattsicker" type="add" due-to="Anthony Maire"> | |
Added optional support for JCTools MPSC bounded lock-free queue in AsyncAppender. | |
</action> | |
<action issue="LOG4J2-1558" dev="ggregory" type="add"> | |
SocketAppender now supports IO buffering. | |
</action> | |
<action issue="LOG4J2-1557" dev="ggregory" type="add"> | |
Add a Builder for the SocketAppender (deprecates factory method). | |
</action> | |
<action issue="LOG4J2-1609" dev="ggregory" type="add"> | |
Add a Builder to ServletAppender and deprecate factory method. | |
</action> | |
<action issue="LOG4J2-1553" dev="ggregory" type="add"> | |
AbstractManager now implements AutoCloseable. | |
</action> | |
<action issue="LOG4J2-1528" dev="mikes" type="add"> | |
Added ability to generate Log4j 2-style XML configuration file from ConfigurationBuilder. | |
</action> | |
<action issue="LOG4J2-1181" dev="mikes" type="add"> | |
Added Logging API for Scala 2.10 and 2.11. | |
</action> | |
<action issue="LOG4J2-1512" dev="mikes" type="add"> | |
Added options to exclude stack trace from JSON, XML and YAML layouts. | |
</action> | |
<action issue="LOG4J2-1539" dev="ggregory" type="add"> | |
Added Core API Configurator.shutdown(LoggerContext, long, TimeUnit). | |
</action> | |
<action issue="LOG4J2-1501" dev="ggregory" type="add"> | |
FileAppender is now able to create files on-demand. | |
</action> | |
<action issue="LOG4J2-1504" dev="ggregory" type="add"> | |
RollingFileAppender is now able to create files on-demand. | |
</action> | |
<action issue="LOG4J2-1471" dev="ggregory" type="add"> | |
[PatternLayout] Add an ANSI option to %xThrowable. | |
</action> | |
<action issue="LOG4J2-1472" dev="ggregory" type="add"> | |
org.apache.logging.log4j.core.LoggerContext now implements Closeable. | |
</action> | |
<action issue="LOG4J2-1458" dev="ggregory" type="add"> | |
[PatternLayout] Add an ANSI option to %message. | |
</action> | |
<action issue="LOG4J2-1505" dev="ggregory" type="add"> | |
Create a Builder for the FileAppender plugin to facilitate adding attributes in the future. | |
</action> | |
<action issue="LOG4J2-1507" dev="ggregory" type="add"> | |
Allow Builders to be completely generic. | |
</action> | |
<action issue="LOG4J2-1508" dev="ggregory" type="add"> | |
Allow a Builder to subclass another Builder. | |
</action> | |
<action issue="LOG4J2-1516" dev="rpopma" type="add" due-to="Gary Gregory"> | |
Add ThreadContextMap2 interface supporting method putAll(Map<String, String>). | |
</action> | |
<action issue="LOG4J2-1519" dev="ggregory" type="add"> | |
Add ThreadContext.putAll(Map<String, String>). | |
</action> | |
<action issue="LOG4J2-1520" dev="ggregory" type="add"> | |
Add JUnit Rule implementations to manage the thread context. | |
</action> | |
<action issue="LOG4J2-1547" dev="ggregory" type="add"> | |
The Core AbstractConfiguration now tracks its LoggerContext and add Configuration.getLoggerContext(). | |
</action> | |
<action issue="LOG4J2-1540" dev="ggregory" type="add"> | |
The Core AbstractManager now tracks its LoggerContext. | |
</action> | |
<action issue="LOG4J2-1577" dev="ggregory" type="add"> | |
Add a Builder to the RoutingAppender and deprecate factory method. | |
</action> | |
<action issue="LOG4J2-1604" dev="ggregory" type="update" due-to="Colin Hillman"> | |
Log4j2 TcpSocketServer in background. | |
</action> | |
<action issue="LOG4J2-1574" dev="ggregory" type="update"> | |
Allow the RollingFileAppender to use default pattern layout. | |
</action> | |
<action issue="LOG4J2-1556" dev="ggregory" type="update"> | |
Custom Log4j threads now extend Log4jThread. | |
</action> | |
<action issue="LOG4J2-1605" dev="ggregory" type="update"> | |
Improve error messages for TcpSocketServer and UdpSocketServer. | |
</action> | |
<action issue="LOG4J2-1458" dev="ggregory" type="update"> | |
Updated Jackson from 2.7.5 to 2.8.0. | |
</action> | |
<action issue="LOG4J2-1494" dev="ggregory" type="update"> | |
Updated Jackson from 2.8.0 to 2.8.1. | |
</action> | |
<action issue="LOG4J2-1569" dev="ggregory" type="update"> | |
Updated Jackson from 2.8.1 to 2.8.2. | |
</action> | |
<action issue="LOG4J2-1598" dev="ggregory" type="update"> | |
Updated Jackson from 2.8.2 to 2.8.3. | |
</action> | |
<action issue="LOG4J2-1495" dev="ggregory" type="update"> | |
Updated LMAX Disruptor from 3.3.4 to 3.3.5. | |
</action> | |
<action issue="LOG4J2-1496" dev="ggregory" type="update"> | |
Updated Kafka client from 0.9.1.0 to 0.10.0.0. | |
</action> | |
<action issue="LOG4J2-1533" dev="ggregory" type="update"> | |
Updated Kafka client from 0.10.0.0 to 0.10.0.1. | |
</action> | |
<action issue="LOG4J2-1487" dev="ggregory" type="update"> | |
Updated JMS test from ActiveMQ 5.13.3 to 5.13.4. | |
</action> | |
<action issue="LOG4J2-1551" dev="ggregory" type="update"> | |
Updated JMS test from ActiveMQ 5.13.4 to 5.14.0. | |
</action> | |
<action issue="LOG4J2-1757" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.12 to 1.13. | |
</action> | |
<action issue="LOG4J2-1543" dev="ggregory" type="update"> | |
Removed deprecated Core API org.apache.logging.log4j.core.util.Constants.UTF_8. | |
</action> | |
<action issue="LOG4J2-1544" dev="ggregory" type="update"> | |
Removed deprecated Core API org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String). | |
</action> | |
<action issue="LOG4J2-1545" dev="ggregory" type="update"> | |
Removed deprecated Web API org.apache.logging.log4j.web.WebLookup.getServletContext(). | |
</action> | |
</release> | |
<release version="2.6.2" date="2016-07-05" description="GA Release 2.6.2"> | |
<action issue="LOG4J2-904" dev="rgoers" type="fix" due-to="Bernhard Mähr"> | |
If copy and delete fails in rename action then resort to truncating the source file after copying it. | |
</action> | |
<action issue="LOG4J2-1250" dev="rgoers" type="fix"> | |
CronTriggeringPolicy was not properly setting the prevFileTime value for the PatternProcessor so | |
file dates and times on rolled files were incorrect. | |
</action> | |
<action issue="LOG4J2-1452" dev="rpopma" type="fix" due-to="Mikael Ståldal"> | |
Fixed issue where reusable messages broke flow tracing logic. | |
</action> | |
<action issue="LOG4J2-1440" dev="rgoers" type="fix"> | |
Fix bug in OnStartupTriggeringPolicy that allowed it to roll over on every reconfiguration. Added | |
minSize attribute. | |
</action> | |
<action issue="LOG4J2-1414" dev="rpopma" type="fix" due-to="Ralph Goers"> | |
Fixed minor issues with the 2.6.1 web site. | |
</action> | |
<action issue="LOG4J2-1434" dev="rpopma" type="fix" due-to="Luke Butters"> | |
Ensure that the thread-local StringBuilders used by Layouts to format log events to text will not | |
retain excessive memory after a large message was logged. | |
</action> | |
<action issue="LOG4J2-1395" dev="mikes" type="add"> | |
Add "direct" option to ConsoleAppender for increased performance. | |
</action> | |
<action issue="LOG4J2-1418" dev="mikes" type="fix"> | |
Provide MessageFactory2 to custom Logger implementations. | |
</action> | |
<action issue="LOG4J2-1420" dev="rgoers" type="fix"> | |
RollingRandomAccessFileManager was not properly rolling over on startup and was getting a NullPointerException. | |
</action> | |
<action issue="LOG4J2-1417" dev="rpopma" type="fix"> | |
Fixed issue where Unbox utility ignored the value Constants.ENABLE_THREADLOCALS and always stored non-JDK classes in ThreadLocals. | |
</action> | |
<action issue="LOG4J2-1422" dev="rpopma" type="fix"> | |
Fixed issue where AsyncAppenderQueueFullPolicyTest sometimes hangs. | |
</action> | |
<action issue="LOG4J2-1445" dev="ggregory" type="fix" due-to="Ludovic HOCHET"> | |
OnStartupTriggeringPolicyTest fails on Windows saying the file is used by another process. | |
</action> | |
<action issue="LOG4J2-1437" dev="rpopma" type="add"> | |
(GC) ObjectMessage and ReusableObjectMessage now avoid calling toString() on auto-boxed primitive parameters. | |
</action> | |
<action issue="LOG4J2-1415" dev="rpopma" type="add"> | |
(GC) ParameterFormatter now avoids calling toString() on auto-boxed primitive message parameters. | |
</action> | |
<action issue="LOG4J2-1412" dev="rpopma" type="add"> | |
Unbox utility's ringbuffer of StringBuilders is now configurable. | |
</action> | |
<action issue="LOG4J2-1432" dev="ggregory" type="update"> | |
Update Jackson from 2.7.4 to 2.7.5. | |
</action> | |
<action issue="LOG4J2-1433" dev="ggregory" type="update"> | |
Update Jansi from 1.11 to 1.13. | |
</action> | |
<action issue="LOG4J2-1444" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.11 to 1.12. | |
</action> | |
</release> | |
<release version="2.6.1" date="2016-06-05" description="GA Release 2.6.1"> | |
<action issue="LOG4J2-1405" dev="rgoers" type="fix"> | |
OnStartupTriggeringPolicy was forcing a rollover of empty files at startup and would append a second footer that was added by the prior shutdown. | |
</action> | |
<action issue="LOG4J2-1406" dev="rpopma" type="fix" due-to="Trask Stalnaker"> | |
Fixed bug in ReusableParameterizedMessage where Throwable was never updated so first error was logged over and over again and subsequent errors were not logged. | |
</action> | |
<action issue="LOG4J2-1409" dev="rpopma" type="fix" due-to="Shahan"> | |
Fixed ArrayIndexOutOfBoundsException that may occur in ReusableParameterizedMessage. | |
</action> | |
<action issue="LOG4J2-997" dev="rgoers" type="fix" due-to="Maytee Chinavanichkit"> | |
Add filter and remove filter were not working properly in AbstractFilterable. | |
</action> | |
<action issue="LOG4J2-1032" dev="rgoers" type="fix"> | |
Changed RenameAction to use java.nio to better report rename failures. | |
</action> | |
<action issue="LOG4J2-1407" dev="ggregory" type="fix"> | |
Fixed misleading WARN log events from Log4j about message factories and unexpected formatting. | |
</action> | |
<action issue="LOG4J2-1408" dev="ggregory" type="fix"> | |
Added the module log4j-liquibase to BOM POM. | |
</action> | |
<action issue="LOG4J2-1180" dev="ggregory" type="fix"> | |
Logger cache now accounts for message factory. | |
</action> | |
<action issue="LOG4J2-1402" dev="rgoers" type="fix"> | |
Fix regression in properties configuration to support arbitrary component ids. | |
</action> | |
<action issue="LOG4J2-1385" dev="ggregory" type="update"> | |
(GC) CSV layouts should not create a new CSVPrinter for each log event. Requires Apache Commons CSV 1.4. | |
</action> | |
<action issue="LOG4J2-1398" dev="ggregory" type="update"> | |
Update liquibase-core from 3.4.2 to 3.5.1. | |
</action> | |
<action issue="LOG4J2-1399" dev="ggregory" type="update"> | |
Update Apache Commons CSV from 1.3 to 1.4. | |
</action> | |
<action issue="LOG4J2-1411" dev="mattsicker" type="add"> | |
Added documentation about plugin builders compared to factories. | |
</action> | |
<action issue="LOG4J2-1394" dev="mattsicker,mikes" type="fix"> | |
Fixed minor issues with the 2.6 web site. | |
</action> | |
</release> | |
<release version="2.6" date="2016-05-25" description="GA Release 2.6"> | |
<action issue="LOG4J2-1270" dev="rpopma" type="add"> | |
(GC) Added support for garbage-free logging in steady state. | |
This includes Async Loggers and logging synchronously to the console and to a file, | |
but does not include the AsyncAppender. This release makes the GelfLayout and | |
the main patterns in the PatternLayout garbage-free. | |
</action> | |
<action issue="LOG4J2-1297" dev="rpopma" type="add"> | |
(GC) Added manual page on garbage-free logging. | |
</action> | |
<action issue="LOG4J2-1373" dev="rpopma" type="add"> | |
(GC) Update Logger wrapper Generator tool to generate methods for the new Logger methods. | |
</action> | |
<action issue="LOG4J2-1356" dev="mikes" type="update"> | |
(GC) GelfLayout does now support garbage-free logging (with compressionType=OFF). | |
</action> | |
<action issue="LOG4J2-1326" dev="rpopma" type="add"> | |
(GC) Added methods to the Logger interface for logging CharSequence messages. | |
</action> | |
<action issue="LOG4J2-1344" dev="rpopma" type="add"> | |
(GC) FileAppender, RollingFileAppender and MemoryMappedFileAppender are now also garbage-free by default. | |
</action> | |
<action issue="LOG4J2-1343" dev="rpopma" type="update"> | |
(GC) ConsoleAppender is now garbage-free by default. This logic is reusable for all AbstractOutputStreamAppender subclasses. | |
</action> | |
<action issue="LOG4J2-1278" dev="rpopma" type="add"> | |
(GC) Added unrolled varargs methods to Logger API, added Unbox utility to avoid auto-boxing when logging primitive values. | |
</action> | |
<action issue="LOG4J2-1318" dev="rpopma" type="update"> | |
(GC) Avoid allocating unnecessary temporary objects in LoggerContext's getLogger methods. | |
</action> | |
<action issue="LOG4J2-1333" dev="rpopma" type="update"> | |
(GC) Avoid allocating unnecessary temporary objects in MarkerManager's getMarker methods. | |
</action> | |
<action issue="LOG4J2-1321" dev="rpopma" type="update"> | |
(GC) Avoid allocating unnecessary temporary objects in PatternLayout's NamePatternConverter and ClassNamePatternConverter. | |
</action> | |
<action issue="LOG4J2-1271" dev="rpopma" type="add"> | |
(GC) Add MessageFactory that avoid allocation by reusing a cached ParameterizedMessage instance. | |
</action> | |
<action issue="LOG4J2-1271" dev="rpopma" type="update"> | |
(GC) ParameterizedMessage optimizations to avoid or at least postpone allocating temporary objects. | |
</action> | |
<action issue="LOG4J2-1283" dev="rpopma" type="update"> | |
(GC) Provide ThreadLocal-based gc-free caching mechanism in DatePatternConverter for non-webapps. | |
</action> | |
<action issue="LOG4J2-1293" dev="rpopma" type="add"> | |
(GC) Add interface StringBuilderFormattable to enable converting Messages and parameters to text without allocating temporary objects. | |
ParameterizedMessage, ObjectMessage, SimpleMessage and ThreadDumpMessage now implement StringBuilderFormattable. | |
</action> | |
<action issue="LOG4J2-1291" dev="rpopma" type="update"> | |
(GC) Update PatternLayout to utilize gc-free mechanism for LogEvent processing. | |
</action> | |
<action issue="LOG4J2-1292" dev="rpopma" type="update"> | |
(GC) Update RandomAccessFileAppender and RollingRandomAccessFileAppender to utilize gc-free Layout.encode() method. | |
</action> | |
<action issue="LOG4J2-1274" dev="rpopma" type="add"> | |
(GC) Add encode(LogEvent, ByteBufferDestination) method to Layout API to enable converting LogEvents to bytes without creating temporary objects. | |
</action> | |
<action issue="LOG4J2-1281" dev="rpopma" type="fix"> | |
(GC) LoggerConfig.getProperties() should not allocate on each call. | |
</action> | |
<action issue="LOG4J2-1272" dev="rpopma" type="update"> | |
(GC) Improve LoggerConfig's data structure for AppenderControl objects to avoid allocating temporary objects during | |
traversal for each log event. | |
</action> | |
<action issue="LOG4J2-1269" dev="rpopma" type="fix"> | |
(GC) AsyncLogger should use thread-local translator by default. | |
</action> | |
<action issue="LOG4J2-623" dev="rpopma" type="fix"> | |
Generate MDC properties as a JSON map in JSONLayout, with option to output as list of map entries. | |
</action> | |
<action issue="LOG4J2-1362" dev="rpopma" type="add" due-to="Gary Gregory"> | |
Added a YAML layout. | |
</action> | |
<action issue="LOG4J2-1387" dev="rpopma" type="fix"> | |
Fixed memory leak related to shutdown hook. | |
</action> | |
<action issue="LOG4J2-1179" dev="rpopma" type="add"> | |
Documented benchmark results comparing Log4j 2 performance to other logging libraries. | |
</action> | |
<action issue="LOG4J2-1382" dev="rpopma" type="fix"> | |
Copying a MutableLogEvent using Log4jLogEvent.Builder should not unnecessarily obtain caller location information. | |
</action> | |
<action issue="LOG4J2-1011" dev="mikes" type="add"> | |
Document dependencies for layouts. | |
</action> | |
<action issue="LOG4J2-621" dev="ggregory" type="add" due-to="Lee Theobald, Kamal Mettananda, Gary Gregory"> | |
Pattern to drop first N package parts. | |
</action> | |
<action issue="LOG4J2-494" dev="rgoers" type="add" due-to="Philipp Knobel"> | |
Support merging configurations to for a composite configuration. | |
</action> | |
<action issue="LOG4J2-1357" dev="mikes" type="add"> | |
Option to not log stack traces for logged Throwables in GelfLayout. | |
</action> | |
<action issue="LOG4J2-1375" dev="rpopma" type="update"> | |
Update SLF4J from 1.7.13 to 1.7.21. | |
</action> | |
<action issue="LOG4J2-1374" dev="rpopma" type="update"> | |
Migrate tests from Logback 1.1.3 to 1.1.7. | |
</action> | |
<action issue="LOG4J2-1384" dev="ggregory" type="update"> | |
Update Apache Commons CSV from 1.2 to 1.3. | |
</action> | |
<action issue="LOG4J2-1372" dev="rgoers" type="fix" due-to="Kamal Mettananda, Gary Gregory"> | |
XMLLayout indents, but not the first child tag (Event). | |
</action> | |
<action issue="LOG4J2-1363" dev="rgoers" type="fix"> | |
Properties Configuration did not support includeLocation attribute on Loggers. | |
</action> | |
<action issue="LOG4J2-1263" dev="rgoers" type="fix"> | |
The ConfigurationSource was not saved for BuiltConfigurations so monitor interval had no effect. | |
</action> | |
<action issue="LOG4J2-1369" dev="ggregory" type="fix" due-to="Alex Birch, Gary Gregory"> | |
"xz" compression results in plaintext, uncompressed files. | |
</action> | |
<action issue="LOG4J2-1365" dev="mikes" type="update"> | |
(Log4j-internal) Provide message text as CharSequence for some message types to optimize some layouts. | |
</action> | |
<action issue="LOG4J2-1368" dev="rpopma" type="fix"> | |
(Log4j-internal) StatusLogger dropped exceptions when logging parameterized messages. | |
</action> | |
<action issue="LOG4J2-1348" dev="ggregory" type="add" due-to="Greg Thomas, Gary Gregory"> | |
Add an AutoCloseable ThreadContext class: CloseableThreadContext. | |
</action> | |
<action issue="LOG4J2-1345" dev="rpopma" type="update"> | |
(Doc) Clarify documentation for properties that control Log4j behaviour. | |
</action> | |
<action issue="LOG4J2-1336" dev="ggregory" type="fix" due-to="Zbynek Vyskovsky"> | |
LoggerFactory in 1.2 API module is not compatible with 1.2. | |
</action> | |
<action issue="LOG4J2-1354" dev="ggregory" type="fix" due-to="Arkadiusz Adolph"> | |
No configuration reload is triggered under Windows when replacing the configuration file with one that has older last modified date. | |
</action> | |
<action issue="LOG4J2-1346" type="fix"> | |
Exception from Log4jServletContextListener prevents jetty-maven-plugin run-forked. | |
</action> | |
<action issue="LOG4J2-1339" dev="rpopma" type="fix"> | |
(Perf) AsyncLogger performance optimization: avoid calling instanceof TimestampMessage in hot path. | |
</action> | |
<action issue="LOG4J2-1324" dev="rpopma" type="fix"> | |
Improve error handling in the Async Logger background thread: the new default exception handler no longer rethrows the error. | |
</action> | |
<action issue="LOG4J2-1309" dev="ggregory" type="fix"> | |
Configuration file error does not show cause exception. | |
</action> | |
<action issue="LOG4J2-1299" dev="ggregory" type="add"> | |
Add pattern converter for thread id and priority in PatternLayout. | |
</action> | |
<action issue="LOG4J2-1289" dev="ggregory" type="fix"> | |
Change flow logging text from "entry' to "Enter" and "exit" to "Exit". | |
</action> | |
<action issue="LOG4J2-1284" dev="rpopma" type="fix"> | |
Made default MessageFactory configurable. | |
</action> | |
<action issue="LOG4J2-1280" dev="ggregory" type="fix"> | |
Deprecate org.apache.logging.log4j.util.MessageSupplier. | |
</action> | |
<action issue="LOG4J2-1280" dev="rpopma" type="fix"> | |
Logger methods taking Supplier parameters now correctly handle cases where the supplied value is a Message. | |
</action> | |
<action issue="LOG4J2-1268" dev="rpopma" type="fix"> | |
FixedDateFormat was incorrect for formats having MMM with the French locale. | |
</action> | |
<action issue="LOG4J2-1255" dev="rgoers" type="update"> | |
Add enhanced entry and exit methods. | |
</action> | |
<action issue="LOG4J2-124" dev="rgoers" type="add"> | |
Add shutdown methods to LogManager. | |
</action> | |
<action issue="LOG4J2-1222" dev="rgoers" type="fix"> | |
Creation of a LoggerContext will fail if shutdown is in progress. LogManager will default to SimpleLogger instead. | |
</action> | |
<action issue="LOG4J2-1221" dev="rpopma" type="add" due-to="Michael Barker"> | |
Added async logger Timeout wait strategy and made this the default wait strategy for async loggers. | |
This prevents a rare deadlock that may occur on Solaris. | |
</action> | |
<action issue="LOG4J2-1080" dev="rpopma" type="add"> | |
Added option to discard events below a certain log level if the async logger ring buffer | |
or async appender queue is full. | |
</action> | |
<action issue="LOG4J2-1237" dev="ggregory" type="add" due-to="Mike Calmus, Gary Gregory"> | |
Make PatternLayout header and footer accept a pattern. | |
</action> | |
<action issue="LOG4J2-1244" dev="ggregory" type="add" due-to="Anshu Garg, Remko Popma, Gary Gregory"> | |
Make header and footer values customizable in JSONLayout. | |
</action> | |
<action issue="LOG4J2-1245" dev="ggregory" type="add"> | |
Make CSV Layout header and footers accept patterns. | |
</action> | |
<action issue="LOG4J2-1192" dev="ggregory" type="add" due-to="Jörg Bretschneider, Gary Gregory"> | |
Dynamic Subject for SMTP Appender. | |
</action> | |
<action issue="LOG4J2-1277" dev="ggregory" type="add" due-to="Gary Gregory, Ludovic Hochet"> | |
FormattedMessage, MessageFormatMessage and StringFormattedMessage should support passing in a Locale to ensure appropriate formatting. | |
</action> | |
<action issue="LOG4J2-1260" dev="ggregory" type="fix" due-to="Blake Day, Gary Gregory"> | |
TlsSyslogFrame calculates message length incorrectly. | |
</action> | |
<action issue="LOG4J2-1258" dev="ggregory" type="fix" due-to="Francis Lalonde"> | |
Async DynamicThresholdFilter does not use the log event's context map. | |
</action> | |
<action issue="LOG4J2-1232" dev="ggregory" type="fix" due-to="Nikolai"> | |
Incorrect log rotation in last week of year. | |
</action> | |
<action issue="LOG4J2-1248" dev="rpopma" type="fix"> | |
Fixed broken nanotime in pattern layout. | |
</action> | |
<action issue="LOG4J2-908" dev="ggregory" type="fix" due-to="Konstantinos Liakos, Patrick Flaherty, Robin Coe, Gary Gregory"> | |
JSONLayout doesn't add a comma between log events. | |
</action> | |
<action issue="LOG4J2-1230" dev="ggregory" type="fix" due-to="Vladimir Hudec, Ralph Goers, Gary Gregory"> | |
Don't concatenate SYSLOG Messages. | |
</action> | |
<action issue="LOG4J2-1238" dev="ggregory" type="fix"> | |
org.apache.logging.log4j.core.net.TcpSocketManager and other classes does not report internal exceptions to the status logger. | |
</action> | |
<action issue="LOG4J2-1212" dev="rpopma" type="fix"> | |
Fix documentation to specify the correct default wait strategy used by async loggers. | |
</action> | |
<action issue="LOG4J2-1215" dev="ggregory" type="fix" due-to="Erik Kemperman"> | |
Documentation/XSD inconsistencies. | |
</action> | |
<action issue="LOG4J2-1276" dev="ggregory" type="fix" due-to="Ludovic Hochet"> | |
LoggerMessageSupplierTest and LoggerSupplierTest are Locale sensitive. | |
</action> | |
<action issue="LOG4J2-1380" dev="ggregory" type="update"> | |
Update Jackson from 2.7.3 to 2.7.4. | |
</action> | |
<action issue="LOG4J2-1304" dev="ggregory" type="update"> | |
Update Jackson from 2.7.0 to 2.7.2. | |
</action> | |
<action issue="LOG4J2-1253" dev="ggregory" type="update"> | |
Update LMAX Disruptor from 3.3.2 to 3.3.4. | |
</action> | |
<action issue="LOG4J2-1219" dev="ggregory" type="update"> | |
Update SLF4J from 1.7.12 to 1.7.13. | |
</action> | |
<action issue="LOG4J2-1239" dev="ggregory" type="update"> | |
Update Jackson from 2.6.3 to 2.6.4. | |
</action> | |
<action issue="LOG4J2-1249" dev="ggregory" type="update"> | |
Update Jackson from 2.6.4 to 2.7.0. | |
</action> | |
<action issue="LOG4J2-1351" dev="ggregory" type="update"> | |
Update Jackson from 2.7.2 to 2.7.3. | |
</action> | |
<action issue="LOG4J2-1240" dev="ggregory" type="update"> | |
Update Liquibase from 3.3.5 to 3.4.2. | |
</action> | |
<action issue="LOG4J2-1294" dev="ggregory" type="update"> | |
Update Kafka client from 0.9.0.0 to 0.9.0.1. | |
</action> | |
<action issue="LOG4J2-1352" dev="ggregory" type="update"> | |
Update javax.mail from 1.5.4 to 1.5.5. | |
</action> | |
<action issue="LOG4J2-1358" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.10 to 1.11. | |
</action> | |
<action issue="LOG4J2-1388" dev="rpopma" type="update"> | |
Update Google java-allocation-instrumenter from 3.0 to 3.0.1. | |
</action> | |
<action issue="LOG4J2-1233" dev="ggregory" type="update" due-to="Bahri Gencsoy"> | |
Misleading Value In Properties Example. | |
</action> | |
<action issue="LOG4J2-1251" dev="mattsicker" type="fix" due-to="Romain Manni-Bucau"> | |
Fix JUL bridge issue where LogRecord.getParameters() is used when null. | |
</action> | |
<action issue="LOG4J2-1254" dev="rpopma" type="fix" due-to="Josh Trow"> | |
Fix typo in Flow Tracing documentation. | |
</action> | |
<action issue="LOG4J2-920" dev="mattsicker" type="fix" due-to="Ludovic Hochet"> | |
ClassNotFoundException for BundleContextSelector when initialising in an OSGi environment. | |
</action> | |
<action issue="LOG4J2-1300" dev="mattsicker" type="update"> | |
Remove serializability from classes that don't need it. | |
</action> | |
<action issue="LOG4J2-1303" dev="mattsicker" type="add"> | |
Add documentation links to runtime dependencies in each component intro page. | |
</action> | |
<action issue="LOG4J2-1275" dev="mattsicker" type="fix" due-to="Ludovic Hochet"> | |
Fix RollingAppenderNoUnconditionalDeleteTest repeat test runs from failing. | |
</action> | |
<action issue="LOG4J2-1262" dev="mattsicker" type="fix"> | |
Stop throwing unnecessary exception in Log4jServletContextListener.contextDestroyed(). | |
</action> | |
<action issue="LOG4J2-1252" dev="mattsicker" type="add"> | |
JeroMqAppender should support layouts. | |
</action> | |
<action issue="LOG4J2-1227" dev="mattsicker" type="fix" due-to="Olivier Lemasle"> | |
NullPointerException in MapLookup.lookup if the event is null. | |
</action> | |
<action issue="LOG4J2-1306" dev="mattsicker" type="update"> | |
JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks. | |
</action> | |
<action issue="LOG4J2-1217" dev="mattsicker" type="add" due-to="Thies Wellpott"> | |
PatternLayout option to limit length of text. | |
</action> | |
<action issue="LOG4J2-1308" dev="mattsicker" type="update"> | |
Remove need to pre-specify appender et al. identifiers in property file config format. | |
</action> | |
<action issue="LOG4J2-1050" dev="mattsicker" type="fix" due-to="Adam Retter"> | |
Add a Log4jLookup class to help write log files relative to log4j2.xml. | |
</action> | |
<action issue="LOG4J2-1133" dev="mattsicker" type="add"> | |
Add JNDI lookup documentation. | |
</action> | |
<action issue="LOG4J2-1310" dev="mattsicker" type="fix"> | |
JndiLookup mindlessly casts to String and should use String.valueOf(). | |
</action> | |
<action issue="LOG4J2-1206" dev="mattsicker" type="update"> | |
org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent. | |
</action> | |
<action issue="LOG4J2-248" dev="mattsicker" type="fix"> | |
Log4jWebInitializerImpl: Use Thread instead of Class for fallback classloader. | |
</action> | |
<action issue="LOG4J2-1169" dev="mattsicker" type="add" due-to="Gerald Kritzinger"> | |
PatternLayout: Possible variable substitution in equals substitution parameter. | |
</action> | |
<action issue="LOG4J2-1322" dev="mattsicker" type="update"> | |
Update Log4j 1.x migration guide to include information about system property lookup syntax changes. | |
</action> | |
<action issue="LOG4J2-1330" dev="mattsicker" type="fix"> | |
Fix NoClassDefFoundError in ReflectionUtil on Google App Engine. | |
</action> | |
</release> | |
<release version="2.5" date="2015-12-06" description="GA Release 2.5"> | |
<action issue="LOG4J2-324" dev="rpopma" type="fix"> | |
Reduced memory usage of status messages in bounded queue; support zero-length queue that stores no messages. | |
</action> | |
<action issue="LOG4J2-1173" dev="rpopma" type="fix"> | |
Fixed rollover error when copying to a directory mapped to a remote Linux host. | |
</action> | |
<action issue="LOG4J2-435" dev="rpopma" type="add" due-to="Robert Schaft"> | |
Added support for custom delete actions triggered by a rollover. | |
</action> | |
<action issue="LOG4J2-649" dev="rgoers" type="update" due-to="Aleksey Zvolinsky"> | |
Add PurgePolicy and IdlePurgePolicy to RoutingAppender. | |
</action> | |
<action issue="LOG4J2-1202" dev="rgoers" type="update"> | |
Remove ConfigurationMonitor. The WatchManager is now used to check for configuration changes. | |
</action> | |
<action issue="LOG4J2-1195" dev="mikes" type="fix" due-to="Melvin Du"> | |
Make KafkaAppender support SerializedLayout. | |
</action> | |
<action issue="LOG4J2-89" dev="rgoers" type="add"> | |
Allow rollover to occur at any time. Add CronTriggeringPolicy. | |
</action> | |
<action issue="LOG4J2-381" dev="rgoers" type="fix" due-to="Anthony Baldocchi"> | |
Allow triggering policy and rollover strategy to be modified during reconfiguration. | |
</action> | |
<action issue="LOG4J2-1136" dev="rgoers" type="add"> | |
Add support for JSR 223 scripts in filters and the PatternSelector. | |
</action> | |
<action issue="LOG4J2-1168" dev="ggregory" type="add" due-to="Steven Swor"> | |
Add getters for source and destination file in file rename action. | |
</action> | |
<action issue="LOG4J2-1175" dev="ggregory" type="add"> | |
Add getters for classes in org.apache.logging.log4j.core.appender.rolling.action. | |
</action> | |
<action issue="LOG4J2-898" dev="rpopma" type="add"> | |
Added system property to allow users to control whether messages should be formatted in the background. | |
</action> | |
<action issue="LOG4J2-1178" dev="ggregory" type="add"> | |
Support use-case for JDBC's CommonDataSource.setLogWriter(PrintWriter) and java.sql.DriverManager.setLogWriter(PrintWriter). | |
</action> | |
<action issue="LOG4J2-1187" dev="ggregory" type="add"> | |
Support use case for java.sql.DriverManager.setLogStream(PrintStream). | |
</action> | |
<action issue="LOG4J2-1029" dev="rpopma" type="fix" due-to="Stefan Leonhartsberger"> | |
Performance improvement when gathering location information. | |
</action> | |
<action issue="LOG4J2-1172" dev="rpopma" type="fix"> | |
Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using AsyncLoggerContextSelector. | |
</action> | |
<action issue="LOG4J2-1176" dev="rpopma" type="fix"> | |
Fixed memory leak when log4j jars are in Tomcat's lib folder. | |
</action> | |
<action issue="LOG4J2-1180" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
Logger cache does not account for message factory. | |
</action> | |
<action issue="LOG4J2-879" dev="rpopma" type="fix"> | |
Documentation: fixed minor issues with the site and manual pages. | |
</action> | |
<action issue="LOG4J2-999" dev="rpopma" type="fix" due-to="Joan Balagueró"> | |
RollingFileAppender should also roll over when log event time is equal to rollover time, not only when later. | |
</action> | |
<action issue="LOG4J2-873" dev="rpopma" type="fix" due-to="Martin Dickins, LC, Luke Woodward"> | |
Fixed bug where omitting the <display-name> element in web.xml caused incorrect log4j initialization, | |
resulting in memory leaks when the web application was stopped or reloaded. | |
</action> | |
<action issue="LOG4J2-323" dev="rpopma" type="fix"> | |
Better web app support for async loggers: Fixed a memory leak that occurred when the logging jars are placed | |
in the container's classpath and the configuration file uses AsyncRoot/AsyncLogger. | |
The problem was that the first web application started the Disruptor background thread [AsyncLoggerConfig-1] but did not stop it until all web apps are stopped. | |
Each web application now has its own Disruptor which is stopped/started together with the web app. | |
</action> | |
<action issue="LOG4J2-493" dev="rpopma" type="fix"> | |
Better web app support for async loggers: it is now possible to place the logging jars in the container's | |
classpath when making all loggers asynchronous by using AsyncLoggerContextSelector. This fixes a problem where | |
logging would stop working after stopping and restarting a web application. | |
</action> | |
<action issue="LOG4J2-1171" dev="rpopma" type="fix"> | |
Use servlet context name for logger context name when available. | |
</action> | |
<action issue="LOG4J2-1159" dev="rpopma" type="fix"> | |
Fixed a ThreadLocal memory leak in Tomcat8 that mentions AsyncLoggers when Async Loggers are not used. | |
</action> | |
<action issue="LOG4J2-1166" dev="rpopma" type="fix"> | |
AbstractConfiguration executor should use a DaemonThreadFactory. | |
</action> | |
<action issue="LOG4J2-1165" dev="rpopma" type="fix"> | |
Improve Log4j initialization status messages. | |
</action> | |
<action issue="LOG4J2-1156" dev="rpopma" type="fix"> | |
Web site corrections and updates. | |
</action> | |
<action issue="LOG4J2-1158" dev="ggregory" type="fix" due-to="Michael Fortin, Gary Gregory"> | |
Log4J JUL adapter is using MessageFormat on String passed by java.util.function.Supplier<String>. | |
</action> | |
<action issue="LOG4J2-801" dev="mattsicker" type="fix"> | |
org.apache.logging.log4j.core.Logger should be serializable. | |
</action> | |
<action issue="LOG4J2-1157" dev="mattsicker" type="fix" due-to="Norbert Bartels"> | |
Fix compilation error for classes annotated with @Plugin. | |
</action> | |
<action issue="LOG4J2-948" dev="mattsicker" type="fix" due-to="Andrew Flower"> | |
Fix plugin documentation error about Converters. | |
</action> | |
<action issue="LOG4J2-1193" dev="ggregory" type="fix"> | |
Prefix all thread names Log4j creates with "Log4j2-". | |
</action> | |
<action issue="LOG4J2-1194" dev="ggregory" type="fix" due-to="Adam Brin"> | |
Documentation does not match parameters for LoggerNameLevelRewritePolicy. | |
</action> | |
<action issue="LOG4J2-1196" dev="mattsicker" type="fix" due-to="René Zanner"> | |
MongoDbConnection does not close MongoClient. | |
</action> | |
<action issue="LOG4J2-1174" dev="ggregory" type="update"> | |
Update Jackson from 2.6.2 to 2.6.3. | |
</action> | |
<action issue="LOG4J2-1207" dev="ggregory" type="update"> | |
Update kafka-clients from 0.8.2.2 to 0.9.0.0. | |
</action> | |
</release> | |
<release version="2.4.1" date="2015-10-08" description="GA Release 2.4.1"> | |
<action issue="LOG4J2-1129" dev="rgoers" type="add"> | |
Allow PatternLayout to select a pattern to use based on some selection criteria. | |
</action> | |
<action issue="LOG4J2-1145" dev="ggregory" type="add"> | |
Add %equals to PatternLayout to test and replace patterns with strings. | |
</action> | |
<action issue="LOG4J2-1147" dev="ggregory" type="add"> | |
Add %equalsIgnoreCase to PatternLayout to test and replace patterns with strings. | |
</action> | |
<action issue="LOG4J2-1146" dev="ggregory" type="add"> | |
Add %notEmpty to PatternLayout to avoid output of patterns where all variables are empty. | |
</action> | |
<action issue="LOG4J2-1020" dev="mikes" type="add"> | |
Add possibility to set shutdown timeout on AsyncAppender. | |
</action> | |
<action issue="LOG4J2-1153" dev="rpopma" type="fix"> | |
Fixed NullPointerException when only root logger is defined (and no named loggers) in configuration properties file. | |
</action> | |
<action issue="LOG4J2-1140" dev="rpopma" type="fix"> | |
Fixed bug where headers were not being written to first file with RollingFileAppender. | |
</action> | |
<action issue="LOG4J2-1149" dev="rpopma" type="fix"> | |
Fixed bug where PatternLayout predefined date pattern with time zone always renders default date format. | |
</action> | |
<action issue="LOG4J2-1050" dev="rpopma" type="fix"> | |
Fixed Log4jLookup. | |
</action> | |
<action issue="LOG4J2-1142" dev="rpopma" type="fix"> | |
Fix potential memory leak in web applications by using a straight ThreadLocal field instead of subclassing ThreadLocal. | |
</action> | |
<action issue="LOG4J2-1135" dev="rpopma" type="fix"> | |
Compression on rollover was broken: log file was renamed to .zip but not compressed. | |
</action> | |
<action issue="LOG4J2-1127" dev="ggregory" type="fix"> | |
log4j2.xml cannot be parsed on Oracle Weblogic 12c. | |
</action> | |
<action issue="LOG4J2-1132" dev="ggregory" type="fix"> | |
Do not use MongoDB driver 2.13.3 deprecated methods. | |
</action> | |
<action issue="LOG4J2-1144" dev="ggregory" type="fix"> | |
Add %markerSimpleName in pattern layout should evaluate to marker name (not toString()). | |
</action> | |
<action issue="LOG4J2-1126" dev="ggregory" type="fix"> | |
Web site corrections and updates. | |
</action> | |
<action issue="LOG4J2-1151" dev="rpopma" type="update"> | |
Performance improvement: backport Java 8 fast ISO-8859-1 String to byte[] encoder to AbstractStringLayout. | |
</action> | |
<action issue="LOG4J2-935" dev="rpopma" type="update"> | |
Performance improvement when converting Strings to byte[] arrays. | |
</action> | |
<action issue="LOG4J2-1040" dev="ggregory" type="update"> | |
Update MongoDB driver from 2.13.3 to 3.0.4. | |
</action> | |
<action issue="LOG4J2-1128" dev="ggregory" type="update"> | |
Reuse StringBuilder to improve performance for String-based layouts: CSV, GELF, HTML, RFC524, Syslog. | |
</action> | |
<action issue="LOG4J2-1131" dev="ggregory" type="update"> | |
Update mongo-java-driver from 2.13.2 to 2.13.3. | |
</action> | |
<action issue="LOG4J2-1138" dev="ggregory" type="update"> | |
Do not use Jackson deprecated methods. | |
</action> | |
<action issue="LOG4J2-1139" dev="ggregory" type="update"> | |
Update Jackson from 2.6.1 to 2.6.2. | |
</action> | |
<action issue="LOG4J2-1150" dev="ggregory" type="update"> | |
Update kafka-clients from 0.8.2.1 to 0.8.2.2. | |
</action> | |
</release> | |
<release version="2.4" date="2015-09-20" description="GA Release 2.4"> | |
<action issue="LOG4J2-635" dev="rgoers" type="add"> | |
Add support for configuration via Properties. | |
</action> | |
<action issue="LOG4J2-952" dev="rgoers" type="add"> | |
Add ConfigurationBuilder for programmatic configuration. | |
</action> | |
<action issue="LOG4J2-1017" dev="ggregory" type="update"> | |
Update Java platform from Java 6 to 7. From this version onwards, log4j 2 requires Java 7. | |
</action> | |
<action issue="LOG4J2-599" dev="rpopma" type="add"> | |
Added support for Java 8 lambda expressions to lazily construct a log message only if | |
the requested log level is enabled. | |
</action> | |
<action issue="LOG4J2-1118" dev="rpopma" type="add"> | |
Updated Logger wrapper generator tool to add Java 8 lambda support for custom log levels. | |
</action> | |
<action issue="LOG4J2-1107" dev="ggregory" type="add" due-to="Mikael Ståldal"> | |
New Appender for Apache Kafka. | |
</action> | |
<action issue="LOG4J2-1113" dev="ggregory" type="add" due-to="Gary Gregory"> | |
New publisher Appender for ZeroMQ (using JeroMQ). | |
</action> | |
<action issue="LOG4J2-1088" dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add Comma Separated Value (CSV) layouts for parameter and event logging. | |
</action> | |
<action issue="LOG4J2-812" dev="rgoers" type="update"> | |
PatternLayout timestamp formatting performance improvement: replaced synchronized SimpleDateFormat with | |
Apache Commons FastDateFormat. This and better caching resulted in a ~3-30X faster timestamp formatting. | |
</action> | |
<action issue="LOG4J2-1097" dev="rpopma" type="update"> | |
PatternLayout timestamp formatting performance improvement: predefined date formats (and variants using | |
a period '.' millisecond separator instead of ',') are now formatted ~2-10X faster than other date formats. | |
</action> | |
<action issue="LOG4J2-1096" dev="rpopma" type="update"> | |
Improved performance of ParameterizedMessage::getFormattedMessage by ~2X. | |
</action> | |
<action issue="LOG4J2-1120" dev="rpopma" type="update"> | |
LoggerConfig performance improvements: avoid unnecessary lock acquisition, use more efficient data structure. | |
</action> | |
<action issue="LOG4J2-1125" dev="rpopma" type="update"> | |
PatternLayout performance improvement by caching and reusing a ThreadLocal StringBuilder. | |
</action> | |
<action issue="LOG4J2-1121" dev="rpopma" type="fix"> | |
Fixed potential race condition on reconfiguration. Introduced ReliabilityStrategy to facilitate | |
switching between different mechanisms for preventing log events from being dropped on reconfiguration. | |
</action> | |
<action issue="LOG4J2-1114" dev="ggregory" type="update"> | |
Add thread name to status logger layout. | |
</action> | |
<action issue="LOG4J2-1123" dev="ggregory" type="fix"> | |
Core Configurator.initialize(String, ClassLoader, String) fails to work when config location is a file path. | |
</action> | |
<action issue="LOG4J2-1117" dev="ggregory" type="fix" due-to="Marcus Thiesen"> | |
OutputStreamManager in ConsoleAppender leaking managers. | |
</action> | |
<action issue="LOG4J2-1044" dev="rgoers" type="fix"> | |
Write pending events to Flume when the appender is stopped. | |
</action> | |
<action issue="LOG4J2-1108" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
NullPointerException when passing null to java.util.logging.Logger.setLevel(). | |
</action> | |
<action issue="LOG4J2-1110" dev="ggregory" type="fix"> | |
org.apache.logging.log4j.jul.CoreLogger.setLevel() checks for security permission too late. | |
</action> | |
<action dev="rpopma" type="remove"> | |
Removed experimental interface LevelLogger which got committed to master by mistake. | |
</action> | |
<action issue="LOG4J2-1010" dev="rgoers" type="update"> | |
Pass log event when interpolating logger properties. | |
</action> | |
<action issue="LOG4J2-1090" dev="ggregory" type="add"> | |
Add Core Configurator APIs to change a logger's level. | |
</action> | |
<action issue="LOG4J2-1105" dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add API org.apache.logging.log4j.Level.isInRange(Level, Level). | |
</action> | |
<action issue="LOG4J2-1106" dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add a LevelRangeFilter class. | |
</action> | |
<action issue="LOG4J2-1074" dev="rpopma" type="add"> | |
Added support for system nanosecond time in pattern layout. | |
</action> | |
<action issue="LOG4J2-1075" dev="rpopma" type="add"> | |
Added support for compressing to bzip2 format on file rollover. | |
</action> | |
<action issue="LOG4J2-1077" dev="ggregory" type="add"> | |
Support additional Apache Commons Compress compression formats on rollover: Deflate, Pack200, XY. | |
</action> | |
<action issue="LOG4J2-767" dev="ggregory" type="add" due-to="Mikael Ståldal"> | |
New module for Liquibase integration. | |
</action> | |
<action issue="LOG4J2-1023" dev="ggregory" type="add" due-to="Mikael Ståldal"> | |
New RewritePolicy for changing level of a log event. | |
</action> | |
<action issue="LOG4J2-1015" dev="ggregory" type="add" due-to="Daniel Marcotte"> | |
Add a way to route messages based on the %marker in Layout for RoutingAppender. | |
</action> | |
<action issue="LOG4J2-1050" dev="ggregory" type="add" due-to="Adam Retter"> | |
Add a Log4jLookup class to help write log files relative to log4j2.xml. | |
</action> | |
<action issue="LOG4J2-1057" dev="ggregory" type="add"> | |
Add API org.apache.logging.log4j.LogManager.getFormatterLogger(). | |
</action> | |
<action issue="LOG4J2-1066" dev="ggregory" type="add" due-to="Charles Allen"> | |
Expose Log4jContextFactory's ShutdownCallbackRegistry. | |
</action> | |
<action issue="LOG4J2-1084" dev="ggregory" type="fix" due-to="Philipp Schneider"> | |
Misleading StatusLogger WARN event in LogManager with java.util.Map. | |
</action> | |
<action issue="LOG4J2-1051" dev="ggregory" type="fix" due-to="Lukasz Lenart"> | |
NoClassDefFoundError when starting app on Google App Engine. | |
</action> | |
<action issue="LOG4J2-684" dev="ggregory" type="fix" due-to="Joern Huxhorn, Mauro Molinari"> | |
ExtendedThrowablePatternConverter does not print suppressed exceptions. | |
</action> | |
<action issue="LOG4J2-1069" dev="ggregory" type="fix" due-to="Sam Braam"> | |
Improper handling of JSON escape chars when deserializing JSON log events. | |
</action> | |
<action issue="LOG4J2-1068" dev="ggregory" type="fix" due-to="Andy McMullan"> | |
Exceptions not logged when using TcpSocketServer + SerializedLayout. | |
</action> | |
<action issue="LOG4J2-1067" dev="ggregory" type="fix" due-to="Sam Braam"> | |
ThrowableProxy getExtendedStackTraceAsString throws NPE on deserialized nested exceptions. | |
</action> | |
<action issue="LOG4J2-1049" dev="rpopma" type="fix" due-to="Robert Schaft"> | |
AsyncAppender now resets the thread interrupted flag after catching InterruptedException. | |
</action> | |
<action issue="LOG4J2-1048" dev="rpopma" type="fix" due-to="Nikhil"> | |
FileConfigurationMonitor unnecessarily calls System.currentTimeMillis() causing high CPU usage. | |
</action> | |
<action issue="LOG4J2-1037" dev="ggregory" type="fix" due-to="Marc Dergacz"> | |
Backward compatibility issue in log4j-1.2-api NDC pop() and peek(). | |
</action> | |
<action issue="LOG4J2-1025" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
Custom java.util.logging.Level gives null Log4j Level and causes NPE. | |
</action> | |
<action issue="LOG4J2-1033" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
SimpleLogger creates unnecessary Map objects by calling ThreadContext.getContext() instead of getImmutableContext(). | |
</action> | |
<action issue="LOG4J2-1026" dev="ggregory" type="fix"> | |
HighlightConverter does not obey noConsoleNoAnsi. | |
</action> | |
<action issue="LOG4J2-1019" dev="ggregory" type="fix"> | |
ZipCompressAction leaves files open until GC when an IO error takes place. | |
</action> | |
<action issue="LOG4J2-1020" dev="ggregory" type="fix"> | |
GzCompressAction leaves files open until GC when an IO error takes place. | |
</action> | |
<action issue="LOG4J2-1038" dev="ggregory" type="fix" due-to="Gili"> | |
Incorrect documentation for layout default charset. | |
</action> | |
<action issue="LOG4J2-1042" dev="ggregory" type="fix" due-to="Guillaume Turri"> | |
Socket and Syslog appenders don't take timeout into account at startup. | |
</action> | |
<action issue="LOG4J2-934" dev="ggregory" type="fix" due-to="Kenneth Gendron"> | |
Circular suppressed Exception throws StackOverflowError. | |
</action> | |
<action issue="LOG4J2-1046" dev="ggregory" type="fix" due-to="Kenneth Gendron"> | |
Circular Exception cause throws StackOverflowError. | |
</action> | |
<action issue="LOG4J2-982" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy"> | |
Use System.nanoTime() to measure time intervals. | |
</action> | |
<action issue="LOG4J2-1045" dev="ggregory" type="fix" due-to="Günter Albrecht"> | |
Externalize log4j2.xml via URL resource. | |
</action> | |
<action issue="LOG4J2-1058" dev="ggregory" type="fix" due-to="Daniel Branzea"> | |
Log4jMarker#contains(String) does not respect org.slf4j.Marker contract. | |
</action> | |
<action issue="LOG4J2-1060" dev="ggregory" type="fix"> | |
Log4jMarker#contains(Marker) does not respect org.slf4j.Marker contract. | |
</action> | |
<action issue="LOG4J2-1061" dev="ggregory" type="fix"> | |
Log4jMarker#remove(Marker) does not respect org.slf4j.Marker contract. | |
</action> | |
<action issue="LOG4J2-1062" dev="ggregory" type="fix"> | |
Log4jMarker#add(Marker) does not respect org.slf4j.Marker contract. | |
</action> | |
<action issue="LOG4J2-1064" dev="ggregory" type="fix"> | |
org.apache.logging.slf4j.Log4jMarker does not implement org.slf4j.Marker.equals(Object) org.slf4j.Marker.hashCode(). | |
</action> | |
<action issue="LOG4J2-889" dev="rpopma" type="fix" due-to="Maciej Karaś, Kenneth Leider"> | |
Header in layout should not be written on application startup if appending to an existing file. Fixes LOG4J2-1030. | |
</action> | |
<action issue="LOG4J2-918" dev="rpopma" type="fix"> | |
Clarify documentation for combining async with sync loggers. | |
</action> | |
<action issue="LOG4J2-1078" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
GelfLayout throws exception if some log event fields are null. | |
</action> | |
<action issue="LOG4J2-1044" dev="rgoers" type="update"> | |
Support batchSize in FlumeAvroManager. | |
</action> | |
<action issue="LOG4J2-1065" dev="ggregory" type="update"> | |
Define org.apache.logging.log4j.Marker.equals(Object) and org.apache.logging.log4j.Marker.hashCode(). | |
</action> | |
<action issue="LOG4J2-1063" dev="ggregory" type="update"> | |
Avoid creating temporary array object in org.apache.logging.slf4j.Log4jMarker.iterator(). | |
</action> | |
<action issue="LOG4J2-890" dev="ggregory" type="update" due-to="Hassan Kalaldeh, Robert Andersson, Remko Popma"> | |
log4j-web-2.1 should workaround a bug in JBOSS EAP 6.2. | |
</action> | |
<action issue="LOG4J2-403" dev="ggregory" type="update" due-to="Poorna Subhash P, Jeremy Lautman"> | |
MongoDB appender, username and password should be optional. | |
</action> | |
<action issue="LOG4J2-1035" dev="ggregory" type="update"> | |
Log4j2 tries to SystemClassLoader when running on Google AppEngine. | |
</action> | |
<action issue="LOG4J2-1022" dev="rgoers" type="update"> | |
Allow a list of keys to be specified in the MDC pattern converter. | |
</action> | |
<action issue="LOG4J2-959" dev="ggregory" type="update"> | |
Fix FindBugs DM_DEFAULT_ENCODING bug in SimpleLogger.logMessage() and simplify code. | |
</action> | |
<action issue="LOG4J2-1036" dev="ggregory" type="update"> | |
Update Apache Flume from 1.5.2 to 1.6.0. | |
</action> | |
<action issue="LOG4J2-1041" dev="ggregory" type="update"> | |
Update MongoDB driver from 2.11.2 to 2.13.2. | |
</action> | |
<action issue="LOG4J2-1018" dev="ggregory" type="update"> | |
Update database tests from H2 1.3.175 to 1.3.176. | |
</action> | |
<action issue="LOG4J2-1070" dev="ggregory" type="update"> | |
Update Java Mail from 1.5.2 to 1.5.4. | |
</action> | |
<action issue="LOG4J2-1079" dev="ggregory" type="update"> | |
Update Jackson from 2.5.3 to 2.5.4. | |
</action> | |
<action issue="LOG4J2-1879" dev="ggregory" type="update"> | |
Update Jackson from 2.5.4 to 2.6.0. | |
</action> | |
<action issue="LOG4J2-1092" dev="ggregory" type="update"> | |
Update Jackson from 2.6.0 to 2.6.1. | |
</action> | |
<action issue="LOG4J2-1104" dev="ggregory" type="update"> | |
Update Apache Commons Compress from 1.9 to 1.10. | |
</action> | |
</release> | |
<release version="2.3" date="2015-05-09" description="GA Release 2.3"> | |
<action issue="LOG4J2-1009" dev="ggregory" type="fix" due-to="Mikael Ståldal"> | |
Incorrectly defined compressionType parameter to GelfLayout. | |
</action> | |
<action issue="LOG4J2-1008" dev="ggregory" type="fix" due-to="Ralph Goers, Gary Gregory"> | |
org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.extractPath(URL) incorrectly converts '+' characters to spaces. | |
</action> | |
<action issue="LOG4J2-1007" dev="ggregory" type="fix" due-to="Ralph Goers, Gary Gregory"> | |
org.apache.logging.log4j.core.util#fileFromUri(URI uri) incorrectly converts '+' characters to spaces. | |
</action> | |
<action issue="LOG4J2-1003" dev="ggregory" type="fix" due-to="Dan Armbrust"> | |
JUL Logger.throwing is mis-mapped to ERROR when it should be TRACE. | |
</action> | |
<action issue="LOG4J2-965" dev="ggregory" type="fix" due-to="Khotyn Huang"> | |
System.out no longer works after the Console appender and JANSI are initialized. | |
</action> | |
<action issue="LOG4J2-998" dev="ggregory" type="update" due-to="Mariano Gonzalez"> | |
Make org.apache.logging.log4j.core.Logger#updateConfiguration protected. | |
</action> | |
<action issue="LOG4J2-995" dev="rgoers" type="update"> | |
Move UTF-8 constant from Charsets to Constants class. Remove Charsets class. | |
</action> | |
<action issue="LOG4J2-993" dev="rgoers" type="fix"> | |
Deadlock would occur if appender thread creates a new Logger during reconfiguration. | |
</action> | |
<action issue="LOG4J2-991" dev="rpopma" type="fix" due-to="Ryan Rupp"> | |
Async root logger config should default includeLocation to false. | |
</action> | |
<action issue="LOG4J2-985" dev="rpopma" type="fix" due-to="Sean Dawson"> | |
AbstractFilter should not implement equals() and hashCode(). | |
</action> | |
<action issue="LOG4J2-984" dev="ggregory" type="add" due-to="Jonas Höpfner"> | |
PatternLayout %highlight to support noConsoleNoAnsi like %style. | |
</action> | |
<action issue="LOG4J2-926" dev="ggregory" type="add" due-to="David Ohana"> | |
Truncate from the end of text format modifier. | |
</action> | |
<action issue="LOG4J2-980" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy"> | |
Numerical overflow in BurstFilter not handled correctly. | |
</action> | |
<action issue="LOG4J2-981" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy"> | |
Incorrect unlock in ProviderUtil. | |
</action> | |
<action issue="LOG4J2-966" dev="ggregory" type="fix"> | |
KeyStoreConfiguration.createKeyStoreConfiguration() ignores keyManagerFactoryAlgorithm. | |
</action> | |
<action issue="LOG4J2-976" dev="ggregory" type="fix" due-to="Matt Quinn"> | |
Using monitorInterval with YAML config file format causes JSONParseException. | |
</action> | |
<action issue="LOG4J2-964" dev="ggregory" type="fix" due-to="Jonne Jyrylä"> | |
StringFormattedMessage serialization is incorrect. | |
</action> | |
<action issue="LOG4J2-947" dev="ggregory" type="fix" due-to="Stefan Wehner"> | |
A new StatusLoggerAdmin listener is added to StatusLogger every time the log is reconfigured. | |
</action> | |
<action issue="LOG4J2-968" dev="ggregory" type="fix" due-to="Paul D Johe"> | |
SyslogLayout contains extra space. | |
</action> | |
<action issue="LOG4J2-967" dev="ggregory" type="fix" due-to="Stefan Wehner"> | |
log4j2.component.properties not read for all properties. | |
</action> | |
<action issue="LOG4J2-971" dev="ggregory" type="fix" due-to="Paul D Johe"> | |
Another bad priority in Syslog messages. | |
</action> | |
<action issue="LOG4J2-972" dev="ggregory" type="fix"> | |
org.apache.logging.log4j.core.net.ssl.TlsSyslogInputStreamReader does not need to create temp Integer objects. | |
</action> | |
<action issue="LOG4J2-974" dev="ggregory" type="fix" due-to="Daniel Galán y Martins"> | |
Typo in EventLogger documentation. | |
</action> | |
<action issue="LOG4J2-988" dev="ggregory" type="update"> | |
Update LMAX Disruptor from 3.3.0 to 3.3.2. | |
</action> | |
<action issue="LOG4J2-987" dev="ggregory" type="update"> | |
Migrate tests from Logback 1.1.2 to 1.1.3. | |
</action> | |
<action issue="LOG4J2-988" dev="ggregory" type="update"> | |
Update tests to use ActiveMQ from 5.10 to 5.11.1. | |
</action> | |
<action issue="LOG4J2-1004" dev="ggregory" type="update"> | |
Update Jackson from 2.5.1 to 2.5.3. | |
</action> | |
<action issue="LOG4J2-1005" dev="ggregory" type="update"> | |
Update Slf4j from 1.7.7 to 1.7.12. | |
</action> | |
</release> | |
<release version="2.2" date="2015-02-22" description="GA Release 2.2"> | |
<action issue="LOG4J2-938" dev="rpopma" type="fix" due-to="Mauro Molinari"> | |
(JMX) To avoid memory leaks when web applications are restarted, JMX notifications are sent from | |
the caller thread in web applications. For non-web applications notifications are sent from a background thread | |
as before. | |
</action> | |
<action issue="LOG4J2-957" dev="ggregory" type="fix" due-to="fatih guleryuz"> | |
Missing toUpperCase(Locale.ENGLISH). | |
</action> | |
<action issue="LOG4J2-956" dev="ggregory" type="fix" due-to="David Kellerman"> | |
Manual refers to Route "AppenderRef" attribute, should be "ref". | |
</action> | |
<action issue="LOG4J2-955" dev="rpopma" type="update"> | |
Documentation: clarify system properties to control status logger, improve troubleshooting FAQ entry. | |
</action> | |
<action issue="LOG4J2-950" dev="ggregory" type="update" due-to="Joel Edwards"> | |
Incorrect attribute name in PropertiesRewritePolicy example. | |
</action> | |
<action issue="LOG4J2-944" dev="ggregory" type="fix" due-to="Vinayaka Ramachandra"> | |
Log4j Flume appender is not adding millisecond to the event headers when the event is logged at 000 milliseconds. | |
</action> | |
<action issue="LOG4J2-941" dev="ggregory" type="add" due-to="Konstantinos Liakos"> | |
Allow JSON layout to create one compact log record per line. | |
</action> | |
<action issue="LOG4J2-933" dev="ggregory" type="add" due-to="ppiman at gmail.com"> | |
HTML layout should not use attribute minimalization for hr noshade. | |
</action> | |
<action issue="LOG4J2-895" dev="ggregory" type="add"> | |
Specify the SyslogAppender connect timeout value as part of the configuration. | |
The SyslogAppender takes a new parameter connectTimeoutMillis. | |
</action> | |
<action issue="LOG4J2-899" dev="ggregory" type="add"> | |
Specify the SocketAppender connect timeout value as part of the configuration. | |
The SyslogAppender takes a new parameter connectTimeoutMillis. | |
</action> | |
<action issue="LOG4J2-924" dev="ggregory" type="fix" due-to="Ryan Rupp"> | |
Log4j 1.2 Bridge doesn't map level ALL correctly in Category.getEffectiveLevel(). | |
</action> | |
<action issue="LOG4J2-931" dev="ggregory" type="fix" due-to="Robert Gacki"> | |
ConsoleAppender is missing @PluginFactory annotation at createAppender method. | |
</action> | |
<action issue="LOG4J2-919" dev="ggregory" type="fix" due-to="David Johle"> | |
Logging system fails to initialize if XInclude API is not available. | |
</action> | |
<action issue="LOG4J2-914" dev="ggregory" type="fix" due-to="Kaj Bjurman"> | |
ThrowableProxy.getExtendedStackTraceAsString causes NullPointerException. | |
</action> | |
<action issue="LOG4J2-912" dev="ggregory" type="fix"> | |
XML configuration does not report full error message for XInclude parser configuration problems. | |
</action> | |
<action issue="LOG4J2-903" dev="ggregory" type="fix" due-to="Mauro Molinari"> | |
ClassLoaderContextSelector uses ClassLoader.toString() as a key | |
</action> | |
<action issue="LOG4J2-834" dev="ggregory" type="fix" due-to="Nikita Koval, Leonard Broman, Thiago Kronig"> | |
ThrowableProxy throws NoClassDefFoundError. | |
</action> | |
<action issue="LOG4J2-893" dev="ggregory" type="fix"> | |
NullPointerException on filter when mapping JUL to Log4j2. | |
</action> | |
<action issue="LOG4J2-892" dev="ggregory" type="fix"> | |
JUL adapter does not map Log4j'2 FATAL level to a JUL level. | |
</action> | |
<action issue="LOG4J2-881" dev="ggregory" type="fix" due-to="Mariano Gonzalez"> | |
AbstractLifecycle should not implement equals() and hashCode(). | |
</action> | |
<action issue="LOG4J2-897" dev="ggregory" type="fix"> | |
Javadoc for org.apache.log4j.BasicConfigurator.configure() is incorrect. | |
</action> | |
<action issue="LOG4J2-891" dev="ggregory" type="fix"> | |
AbstractLifecycle should not implement equals() and hashCode(). | |
</action> | |
<action issue="LOG4J2-946" dev="ggregory" type="fix" due-to="artemonster"> | |
[docs] Using Log4j 2 in Web Applications: Update example (Log4jWebLifeCycle is not visible). | |
</action> | |
<action issue="LOG4J2-901" dev="ggregory" type="update" due-to="Tihomir Meščić, Siegfried Greisinger"> | |
Update docs for SyslogAppender: "No structured id name was supplied" | |
</action> | |
<action issue="LOG4J2-958" dev="ggregory" type="update"> | |
Update from Jackson 2.5.0 to 2.5.1. | |
</action> | |
<action issue="LOG4J2-925" dev="ggregory" type="update"> | |
Update from Jackson 2.4.4 to 2.5.0. | |
</action> | |
<action issue="LOG4J2-910" dev="ggregory" type="update"> | |
Update Jackson from 2.4.3 to 2.4.4. | |
</action> | |
<action issue="LOG4J2-881" dev="ggregory" type="update"> | |
Update Jackson from 2.4.2 to 2.4.3. | |
</action> | |
<action issue="LOG4J2-882" dev="ggregory" type="update"> | |
Update maven-core from 3.1.0 to 3.2.3. | |
</action> | |
<action issue="LOG4J2-883" dev="ggregory" type="update"> | |
Update tests from org.apache.felix.framework 4.2.1 to 4.4.1. | |
</action> | |
<action issue="LOG4J2-884" dev="ggregory" type="update"> | |
Update org.eclipse.osgi from 3.6.0 to 3.7.1. | |
</action> | |
<action issue="LOG4J2-900" dev="ggregory" type="update"> | |
Update Apache Flume from 1.5.0.1 to 1.5.2. | |
</action> | |
</release> | |
<release version="2.1" date="2014-10-19" description="GA Release 2.1"> | |
<action issue="LOG4J2-676" dev="rgoers" type="fix" due-to="Stefan Bodewig"> | |
Some typo fixes and enhancements for the site. | |
</action> | |
<action issue="LOG4J2-868" dev="mattsicker" type="add"> | |
Add ShutdownCallbackRegistry interface for customizable shutdown callback handling. This is particularly | |
useful for application servers that wish to integrate with Log4j 2. | |
</action> | |
<action issue="LOG4J2-866" dev="rpopma" type="fix" due-to="Gerard Weatherby"> | |
Documentation: fixed missing closing parenthesis in code example. | |
</action> | |
<action issue="LOG4J2-862" dev="mattsicker" type="fix" due-to="Michael Sutherland"> | |
Fixed classloader issue that prevented Log4j from finding the implementation when used in a custom Ant task. | |
</action> | |
<action issue="LOG4J2-589" dev="rpopma" type="add"> | |
Supported filtering on custom log levels in configuration. | |
</action> | |
<action issue="LOG4J2-861" dev="rpopma" type="fix"> | |
Documentation: fix broken links on left navigation Extending Log4j Configuration sub-menu. | |
</action> | |
<action issue="LOG4J2-856" dev="rpopma" type="add"> | |
Documentation: add sections on the JUL Adapter, IO Streams and NoSQL Appenders to the Maven and Ivy page. | |
</action> | |
<action issue="LOG4J2-797" dev="rpopma" type="fix" due-to="Andreas Rytina"> | |
Documentation: clarified why log4j-core is a compile time dependency in Maven and Ivy page. | |
</action> | |
<action issue="LOG4J2-855" dev="rpopma" type="fix"> | |
Documentation: fix broken links on Appenders manual page. | |
</action> | |
<action issue="LOG4J2-807" dev="rpopma" type="fix"> | |
Prevent NPE when configuration with AsyncLogger/AsyncRoot is reloaded. | |
</action> | |
<action issue="LOG4J2-848" dev="ggregory" type="add"> | |
Add a Java lookup to provide nicely formatted runtime version information. | |
</action> | |
<action issue="LOG4J2-809" dev="mattsicker" type="add"> | |
Move reflection utility class to API's private utility classes. | |
</action> | |
<action issue="LOG4J2-845" dev="mattsicker" type="update"> | |
Add 2.1.0 to compatible versions in Log4j API ProviderUtil and update Log4jAPIVersion to 2.1.0 in | |
core META-INF/log4j-provider.properties. | |
</action> | |
<action issue="LOG4J2-833" dev="rpopma" type="add"> | |
Documentation: added Runtime Dependencies link to left nav-bar on site. | |
</action> | |
<action issue="LOG4J2-816" dev="rpopma" type="add"> | |
Documentation: added section on XInclude to user manual Configuration page. | |
</action> | |
<action issue="LOG4J2-678" dev="rpopma" type="fix" due-to="Matt Sicker"> | |
Documentation: fixed minor issues with Log4j2 web site/documentation. | |
</action> | |
<action issue="LOG4J2-844" dev="rpopma" type="update"> | |
Update JMH to 1.1 from 0.7.2. | |
</action> | |
<action issue="LOG4J2-843" dev="rpopma" type="fix"> | |
Migrate JpaHyperSqlAppenderTest JUnit performance test to log4j-perf. | |
</action> | |
<action issue="LOG4J2-842" dev="rpopma" type="fix"> | |
Migrate JpaH2AppenderTest JUnit performance test to log4j-perf. | |
</action> | |
<action issue="LOG4J2-841" dev="rpopma" type="fix"> | |
Migrate JdbcHyperSqlAppenderTest JUnit performance test to log4j-perf. | |
</action> | |
<action issue="LOG4J2-840" dev="rpopma" type="fix"> | |
Migrate JdbcH2AppenderTest JUnit performance test to log4j-perf. | |
</action> | |
<action issue="LOG4J2-830" dev="rpopma" type="fix"> | |
Respect external interrupt signal to allow application shutdown after joining AsyncAppender thread. | |
</action> | |
<action issue="LOG4J2-813" dev="ggregory" type="fix" due-to="David Erichsen, Brandon Barry"> | |
MarkerManager Log4jMarker.hasParents() returns opposite of correct result. | |
</action> | |
<action issue="LOG4J2-785" dev="rpopma" type="fix"> | |
Documentation: fixed capitalization inconsistency in user manual example config. | |
</action> | |
<action issue="LOG4J2-829" dev="rpopma" type="fix"> | |
Fixed issue in RollingFile filePattern: backslashes are path separators, not escape characters. | |
</action> | |
<action issue="LOG4J2-547" dev="mattsicker" type="add"> | |
Add the Log4j IOStreams component. | |
</action> | |
<action issue="LOG4J2-431" dev="rpopma" type="add" due-to="Claude Mamo"> | |
Added Memory-Mapped File Appender. | |
</action> | |
<action issue="LOG4J2-832" dev="ggregory" type="fix" due-to="Seth Leger"> | |
ThrowableProxy fails if a class in logged stack trace throws java.lang.Error from initializer | |
</action> | |
<action issue="LOG4J2-831" dev="rpopma" type="update"> | |
Documentation: updated FAQ "which jars" diagrams for JUL bridge and 2.1 version. | |
</action> | |
<action issue="LOG4J2-827" dev="mattsicker" type="add"> | |
Support use of TypeConverter classes through the standard Plugin system. | |
</action> | |
<action issue="LOG4J2-745" dev="mattsicker" type="fix" due-to="Scott Harrington"> | |
Avoid ConverterKey plugin clashes by using a more predictable plugin loading infrastructure. | |
Plugins have been segmented into three parts: class path, user-specified packages, and OSGi bundles. | |
</action> | |
<action issue="LOG4J2-798" dev="mattsicker" type="fix" due-to="Scott Harrington"> | |
Fixed plugin scanning redundancy causing massive slowdowns in certain environments. | |
</action> | |
<action issue="LOG4J2-753" dev="rpopma" type="fix"> | |
Reduced CachedClock thread contention. | |
</action> | |
<action issue="LOG4J2-819" dev="mattsicker" type="fix" due-to="Gary Gregory"> | |
Fixed memory leak in Tomcat 6 caused by clock background threads unintentionally | |
started by Tomcat after web application stop. | |
</action> | |
<action issue="LOG4J2-825" dev="mattsicker" type="add"> | |
Add simple validation constraint annotations for the Plugin system. | |
</action> | |
<action issue="LOG4J2-428" dev="ggregory" type="add" due-to="Mark Paluch, Mikael Ståldal"> | |
Implement a GELF layout. | |
</action> | |
<action issue="LOG4J2-391" dev="rgoers" type="fix" due-to="Kamal Bahadur"> | |
FlumePersistentManager now handles LockConflictExceptions in Berkeley Db when sending a batch. | |
</action> | |
<action issue="LOG4J2-782" dev="mattsicker" type="fix"> | |
Remove invalid Oracle Maven repository. | |
</action> | |
<action issue="LOG4J2-780" dev="mattsicker" type="update"> | |
Update Spring Framework to 3.2.11.RELEASE from 3.2.8.RELEASE. | |
</action> | |
<action issue="LOG4J2-815" dev="mattsicker" type="update"> | |
Unify the two JMS appenders into a single appender. Configurations written for 2.0 will still work in 2.1+. | |
</action> | |
<action issue="LOG4J2-608" dev="mattsicker" type="add"> | |
Add java.util.logging implementation based on log4j-api. See log4j-jul documentation for more details. | |
</action> | |
<action issue="LOG4J2-796" dev="rpopma" type="fix"> | |
Fixed issue where log4j-to-slf4j did not work correctly with SLF4J Simple Logger. | |
</action> | |
<action issue="LOG4J2-811" dev="ggregory" type="fix" due-to="Yogesh Rao"> | |
SimpleLogger throws ArrayIndexOutOfBoundsException for an empty array. | |
</action> | |
<action issue="LOG4J2-663" dev="mattsicker" type="fix" due-to="Florian Brunner"> | |
Fix OSGi Import-Package problem with the JMS API. | |
</action> | |
<action issue="LOG4J2-793" dev="mattsicker" type="add"> | |
Add support for custom SLF4J Markers in log4j-slf4j-impl module. | |
</action> | |
<action issue="LOG4J2-783" dev="rpopma" type="fix" due-to="Minglei Lee"> | |
PatternLayout should use platform character encoding by default, not UTF-8. | |
</action> | |
<action issue="LOG4J2-771" dev="ggregory" type="add"> | |
Add lookup for application main arguments. | |
</action> | |
<action issue="LOG4J2-787" dev="ggregory" type="add"> | |
Add lookup for JVM arguments. | |
</action> | |
<action issue="LOG4J2-790" dev="ggregory" type="update"> | |
Update Jackson to 2.4.2 from 2.4.1 (for XML and JSON processing). | |
</action> | |
<action issue="LOG4J2-766" dev="ggregory" type="update" due-to="Bruno P. Kinoshita"> | |
Incomplete documentation for JSONLayout. | |
</action> | |
<action issue="LOG4J2-800" dev="ggregory" type="update"> | |
All life cycle implementations should be serializable. | |
This is still work in progress. | |
</action> | |
<action issue="LOG4J2-801" dev="ggregory" type="update"> | |
org.apache.logging.log4j.core.Logger should be serializable. | |
This is still work in progress. | |
</action> | |
<action issue="LOG4J2-810" dev="ggregory" type="update"> | |
Update javax.mail to 1.5.2 from 1.5.0. | |
</action> | |
<action issue="LOG4J2-822" dev="ggregory" type="update"> | |
Update org.eclipse.persistence.jpa to 2.5.2 from 2.5.1. | |
</action> | |
<action issue="LOG4J2-867" dev="ggregory" type="update"> | |
FlumeAppender: maxDelay not in seconds, but milliseconds. | |
Add time scale to some settings, for example maxDelayMillis instead of maxDelay. | |
The old names are aliased for compatibility. | |
</action> | |
</release> | |
<release version="2.0.2" date="2014-08-16" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-775" dev="ggregory" type="update"> | |
Update Apache Flume to 1.5.0.1 from 1.5.0. | |
</action> | |
<action issue="LOG4J2-773" dev="rpopma" type="fix"> | |
Site: log4j-core component pages were still using the old logo. | |
</action> | |
<action issue="LOG4J2-760" dev="rpopma" type="fix"> | |
Documentation improvement: link to dependency tree from log4j-core component page, | |
link to log4j-core component page from FAQ page. | |
</action> | |
<action issue="LOG4J2-679" dev="rpopma" type="fix"> | |
Resolved race condition that caused log file rotation to fail with error: "Unable to create directory ..." | |
</action> | |
<action issue="LOG4J2-726" dev="rpopma" type="fix"> | |
Prevent application from hanging when PatternLayout configuration has opening '{' but no closing '}'. | |
</action> | |
<action issue="LOG4J2-769" dev="rpopma" type="fix" due-to="Scott Harrington"> | |
Startup takes a long time if you have empty packages attribute. | |
</action> | |
<action issue="LOG4J2-763" dev="rpopma" type="fix" due-to="Stephen Connolly"> | |
Improved asynchronous loggers and appenders to ensure the formatted message does not change even if | |
parameters are modified by the application. (ParameterizedMessage was already safe.) | |
Improved documentation. | |
</action> | |
<action issue="LOG4J2-729" dev="rpopma" type="fix"> | |
Emit warning message to console if no configuration file found. | |
</action> | |
<action issue="LOG4J2-765" dev="rpopma" type="fix"> | |
Improve warning message when missing log4j-core in the classpath. | |
</action> | |
<action issue="LOG4J2-722" dev="rpopma" type="fix"> | |
Clarified in documentation that Commons Logging jar is required when using log4j-jcl. | |
</action> | |
<action issue="LOG4J2-723" dev="rpopma" type="fix"> | |
Clarified in documentation that SLF4J API jar is required when using log4j-slf4j-impl. | |
</action> | |
<action issue="LOG4J2-730" dev="rpopma" type="update"> | |
Allow Log4jContextFactory subclasses to specify a custom ContextSelector. | |
</action> | |
<action issue="LOG4J2-759" dev="rpopma" type="fix"> | |
Fixed various minor site/documentation issues, mostly versioning related. | |
</action> | |
<action issue="LOG4J2-756" dev="rpopma" type="fix" due-to="Scott Harrington"> | |
Prevent JUnit test from creating unnecessary Log4j2Plugins.dat during build. | |
</action> | |
</release> | |
<release version="2.0.1" date="2014-07-29" description="Bug fixes"> | |
<action issue="LOG4J2-744" dev="rpopma" type="fix" due-to="Scott Harrington"> | |
Avoid unnecessary Clock calls when TimestampMessage is logged. | |
</action> | |
<action issue="LOG4J2-704" dev="rpopma" type="fix"> | |
Improved error message if configuration file not found. | |
</action> | |
<action issue="LOG4J2-750" dev="ggregory" type="fix" due-to="Mike Calmus"> | |
Webapp configuration page has incorrect class name. | |
</action> | |
<action issue="LOG4J2-749" dev="rpopma" type="fix" due-to="Scott Harrington"> | |
Retain the default date pattern after fixing the ISO8601 pattern. | |
</action> | |
<action issue="LOG4J2-670" dev="rpopma" type="fix"> | |
DatePatternConverter ISO8601_PATTERN now conforms to ISO8601. | |
</action> | |
<action issue="LOG4J2-741" dev="rpopma" type="fix"> | |
Reinstate the package configuration attribute for discovering custom plugins. | |
</action> | |
<action issue="LOG4J2-742" dev="ggregory" type="fix" due-to="Pascal Chollet"> | |
XInclude not working with relative path. | |
</action> | |
<action issue="LOG4J2-740" dev="mattsicker" type="fix" due-to="Kosta Krauth"> | |
Fixed typo in webapp manual regarding sample web.xml file. | |
</action> | |
<action issue="LOG4J2-738" dev="ggregory" type="fix" due-to="Timothy Stack"> | |
RollingFileManager deadlock if async action thread fails to start. | |
</action> | |
<action issue="LOG4J2-736" dev="mattsicker" type="fix"> | |
Fixed log4j-bom so that it won't specify a default scope on any third party dependencies. | |
</action> | |
<action issue="LOG4J2-735" dev="mattsicker" type="fix"> | |
Fixed log4j-bom so that it won't interfere with spring-bom and others. | |
</action> | |
<action issue="LOG4J2-731" dev="mattsicker" type="fix"> | |
Updated documentation regarding extensions to LoggerContextFactory and Log4j 2 providers. | |
</action> | |
<action issue="LOG4J2-373" dev="mattsicker" type="fix"> | |
Fixed ClassLoader issues in loading Log4j providers in an OSGi environment. | |
</action> | |
<action issue="LOG4J2-725" dev="mattsicker" type="add"> | |
Added WebLoggerContextUtils class to log4j-web for helper methods useful for asynchronous servlets. | |
</action> | |
<action issue="LOG4J2-710" dev="rpopma" type="add"> | |
Added documentation for Custom Levels and Custom Loggers. | |
</action> | |
<action issue="LOG4J2-719" dev="rpopma" type="fix"> | |
Correctly handle NetworkOnMainThreadException thrown on Android during Log4j2 initialization. | |
</action> | |
<action issue="LOG4J2-716" dev="rpopma" type="fix"> | |
Automatically disable log4j JMX when detecting we are running on Android. | |
</action> | |
<action issue="LOG4J2-657" dev="rpopma" type="fix" due-to="Stefan Wehner"> | |
Fixed AbstractDatabaseManager to close connection on writeInternal error. | |
</action> | |
<action issue="LOG4J2-713" dev="ggregory" type="fix" due-to="Nelson Melina"> | |
Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer | |
</action> | |
<action issue="LOG4J2-703" dev="ggregory" type="fix" due-to="Nelson Melina"> | |
Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup. | |
</action> | |
<action issue="LOG4J2-732" dev="ggregory" type="updated"> | |
Update to LMAX Disruptor 3.3.0 from 3.2.1. | |
</action> | |
<action issue="LOG4J2-733" dev="ggregory" type="updated"> | |
Update to latest Jackson jars from the 2.4.1.X line. | |
</action> | |
</release> | |
<release version="2.0" date="2014-07-12" description="GA Release"> | |
<action issue="LOG4J2-705" dev="rpopma" type="fix"> | |
Fixed issue where Async Logger does not log thread context stack data. | |
API change: added method getImmutableStackOrNull() to ThreadContext.ContextStack interface. | |
</action> | |
<action issue="LOG4J2-631" dev="rpopma" type="fix"> | |
Update docs to clarify how to use formatter logger and standard logger together. | |
</action> | |
<action issue="LOG4J2-519" dev="rpopma" type="add"> | |
Added support for generating custom logger wrappers that replace the existing log levels | |
and extended logger wrappers that add custom log levels to the existing ones. | |
</action> | |
<action issue="LOG4J2-441" dev="rgoers" type="fix"> | |
LoggerConfigs with no Level now inherit the Level from their parent. | |
</action> | |
<action issue="LOG4J2-696" dev="ggregory" type="add"> | |
RegexFilter does not match multiline log messages. | |
</action> | |
<action issue="LOG4J2-699" dev="rpopma" type="fix"> | |
PatternLayout manual page missing documentation on header/footer. | |
</action> | |
<action issue="LOG4J2-625" dev="rpopma" type="fix"> | |
Fixed Serialization error with SocketAppender and Async Loggers. | |
(Fixed in RC2, but wasn't included in release notes.) | |
</action> | |
<action issue="LOG4J2-538" dev="rpopma" type="fix"> | |
JMX GUI: fixed occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below". | |
(Fixed in RC2, but wasn't included in release notes.) | |
</action> | |
<action issue="LOG4J2-666" dev="rpopma" type="fix"> | |
AsyncLoggerContextSelector should ensure that different AsyncLoggerContext objects created by web app classloaders have unique names. | |
</action> | |
<action issue="LOG4J2-683" dev="mattsicker" type="fix" due-to="Jurriaan Mous"> | |
Fix annotation processor warnings on JDK 1.7+. | |
</action> | |
<action issue="LOG4J2-694" dev="mattsicker" type="fix"> | |
Fix strange compilation error that popped up in a test class. | |
</action> | |
<action issue="LOG4J2-692" dev="rgoers" type="fix"> | |
Update documentation to specify only Maven 3 is supported. | |
</action> | |
<action issue="LOG4J2-690" dev="rgoers" type="fix" due-to="Philip Helger"> | |
Log4j Web test dependencies should be in scope "test" in the pom. | |
</action> | |
<action issue="LOG4J2-682" dev="ggregory" type="fix" due-to="Scott Harrington"> | |
Special characters (tab and so on) in PatternLayout do not work. | |
</action> | |
<action issue="LOG4J2-685" dev="ggregory" type="update"> | |
Make org.apache.logging.log4j.core.layout.AbstractLayout immutable. | |
</action> | |
<action issue="LOG4J2-686" dev="ggregory" type="fix"> | |
Core's OptionConverter support for \b is broken (affects PatternLayout). | |
</action> | |
<action issue="LOG4J2-687" dev="ggregory" type="fix"> | |
Rename org.apache.logging.log4j.core.util.Closer.closeSilent() to closeSilently(). | |
</action> | |
<action issue="LOG4J2-688" dev="ggregory" type="fix"> | |
Make org.apache.logging.log4j.core.layout.PatternLayout immutable. | |
</action> | |
<action issue="LOG4J2-689" dev="ggregory" type="update"> | |
Update Jackson to 2.4.1. | |
</action> | |
<action issue="LOG4J2-707" dev="ggregory" type="fix"> | |
Some exceptions are not logged when configuration problems are detected. | |
</action> | |
<action issue="LOG4J2-709" dev="ggregory" type="update"> | |
Update Apache Commons Logging to 1.2 from 1.1.3. | |
</action> | |
</release> | |
<release version="2.0-rc2" date="2014-06-21" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-675" dev="rpopma" type="add"> | |
RollingFile and RollingRandomAccessFile now write the layout footer before rollover. | |
</action> | |
<action issue="LOG4J2-581" dev="rpopma" type="fix" due-to="Alexander Khokhlov"> | |
RollingRandomAccessFile now writes the layout header after rollover. | |
</action> | |
<action issue="LOG4J2-622" dev="rpopma" type="fix" due-to="Farooq Khan"> | |
RollingFileManager now correctly honours the bufferedIO configuration after rollover. | |
</action> | |
<action issue="LOG4J2-674" dev="rpopma" type="add"> | |
Made RollingFileAppender buffer size configurable. | |
</action> | |
<action issue="LOG4J2-141" dev="rpopma" type="fix" due-to="Joern Huxhorn"> | |
Improved documentation regarding log4j status logger. | |
</action> | |
<action issue="LOG4J2-539" dev="rpopma" type="fix" due-to="Colin Froggatt"> | |
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. | |
</action> | |
<action issue="LOG4J2-619" dev="rgoers" type="fix" due-to="Scott Harrington"> | |
Invalid XML configuration files do not prevent the config file from being checked again. | |
</action> | |
<action issue="LOG4J2-637" dev="rpopma" type="fix" due-to="Mansoor Sajjad, Jon Wilmoth"> | |
JMX: Updating a Logger's level via jConsole now correctly takes effect. | |
</action> | |
<action issue="LOG4J2-668" dev="rpopma" type="fix"> | |
Correctly process log events when combining AsyncLoggers with AsyncAppender. | |
</action> | |
<action issue="LOG4J2-669" dev="rpopma" type="fix"> | |
Prevent NPE when combining AsyncLoggers with AsyncLoggerConfigs. | |
</action> | |
<action issue="LOG4J2-42" dev="rgoers" type="add"> | |
Create an appender to route log events to the ServletContext log. | |
</action> | |
<action issue="LOG4J2-419" dev="rgoers" type="update" due-to="Woonsan Ko"> | |
Support default value for missing key in look ups with fallback to looking in the properties map. | |
</action> | |
<action issue="LOG4J2-563" dev="rgoers" type="fix" due-to="Michael Friedmann"> | |
FlumeAvroManager now always uses a client type of default_failover. | |
</action> | |
<action issue="LOG4J2-554" dev="rgoers" type="update"> | |
Allow configuration files to be located as Servlet Context resources. | |
</action> | |
<action issue="LOG4J2-535" dev="rgoers" type="fix"> | |
Reset rollover time when size rollover is triggered. | |
</action> | |
<action issue="LOG4J2-664" dev="mattsicker" type="fix"> | |
Moved plugin cache file to META-INF for OSGi compatibility. | |
</action> | |
<action issue="LOG4J2-640" dev="mattsicker" type="fix"> | |
Fix NPE that can be caused by a null ThreadContextClassLoader. | |
</action> | |
<action issue="LOG4J2-655" dev="mattsicker" type="add"> | |
Add Vagrantfile for testing in GNU+Linux. | |
</action> | |
<action issue="LOG4J2-651" dev="ggregory" type="fix"> | |
Log4j 2 throws ArrayIndexOutOfBoundsException. | |
</action> | |
<action issue="LOG4J2-654" dev="rpopma" type="add"> | |
Add log4j-perf module to provide a home for all log4j performance tests. | |
Add support for JMH microbenchmark performance tests. | |
</action> | |
<action issue="LOG4J2-652" dev="mattsicker" type="add"> | |
Add support for default plugin values and attributes. | |
</action> | |
<action issue="LOG4J2-598" dev="mattsicker" type="add"> | |
Add support for types other than String for plugin factory values/attributes. | |
</action> | |
<action issue="LOG4J2-250" dev="rpopma" type="update"> | |
Refactor Log4jLogEvent to lazily create ThrowableProxy. | |
</action> | |
<action issue="LOG4J2-647" dev="ggregory" type="update"> | |
Upgrade to Flume 1.5.0. | |
</action> | |
<action issue="LOG4J2-644" dev="ggregory" type="add"> | |
Implement a SecureSocketAppender and secure server (SSL/TLS). | |
</action> | |
<action issue="LOG4J2-646" dev="ggregory" type="update"> | |
Merge the TLS Syslog appender into the Syslog appender. | |
</action> | |
<action issue="LOG4J2-620" dev="rgoers" type="fix"> | |
Perform reconfiguration in a separate thread to prevent deadlocks. | |
</action> | |
<action issue="LOG4J2-641" dev="mattsicker" type="update"> | |
Override commons-logging dependency version in tests. | |
</action> | |
<action issue="LOG4J2-639" dev="rpopma" type="fix" due-to="Mck SembWever"> | |
Prevent NPE in AsyncLogger and AsyncLoggerConfig if logger is used after log4j has been shut down. | |
</action> | |
<action issue="LOG4J2-469" dev="rgoers" type="fix"> | |
FailoverAppender was not resetting its status after the primary appender recovered. | |
</action> | |
<action issue="LOG4J2-623" dev="rgoers" type="fix"> | |
Generate MDC properties as a JSON map in JSONLayout. | |
</action> | |
<action issue="LOG4J2-566" dev="rpopma" type="update" due-to="Luigi Alice"> | |
Made RollingRandomAccessFileAppender buffer size configurable. | |
</action> | |
<action issue="LOG4J2-520" dev="rpopma" type="fix" due-to="JavaTech, Andre Bogus"> | |
Resolved issue where AsyncAppender dropped events if queue still contained | |
events when application is stopped. | |
</action> | |
<action issue="LOG4J2-392" dev="rpopma" type="fix" due-to="Andre Bogus"> | |
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. | |
</action> | |
<action issue="LOG4J2-613" dev="mattsicker" type="fix"> | |
The OSGi version of log4j-web imports Servlet 2.5 at minimum instead of 3.0. | |
</action> | |
<action issue="LOG4J2-602" dev="rgoers" type="fix"> | |
Unit tests are now less verbose during the build process. | |
</action> | |
<action issue="LOG4J2-570" dev="mattsicker" type="fix"> | |
Fix shutdown thread memory leak in servlet containers. | |
</action> | |
<action issue="LOG4J2-628" dev="rpopma" type="update"> | |
Use Clock to generate all log event timestamps, not just for Async Loggers. | |
</action> | |
<action issue="LOG4J2-629" dev="rpopma" type="add"> | |
Document the system properties used in Log4J 2. | |
</action> | |
<action issue="LOG4J2-542" dev="rgoers" type="fix"> | |
Make Throwable transient in ThrowableProxy. | |
</action> | |
<action issue="LOG4J2-617" dev="mattsicker" type="update"> | |
Update SLF4J to 1.7.7. | |
</action> | |
<action issue="LOG4J2-616" dev="mattsicker" type="update"> | |
Update Jackson to 2.3.3. | |
</action> | |
<action issue="LOG4J2-440" dev="mattsicker" type="fix"> | |
During shutdown, a NullPointerException could be thrown due to the NullConfiguration class no longer being | |
available to the ClassLoader. | |
</action> | |
<action issue="LOG4J2-346" dev="mattsicker" type="fix"> | |
Cyclic dependency with log4j-slf4j-impl in OSGi. | |
</action> | |
<action issue="LOG4J2-345" dev="mattsicker" type="fix"> | |
The log4j-1.2-api module didn't export any packages to OSGi. | |
</action> | |
<action issue="LOG4J2-605" dev="mattsicker" type="fix"> | |
Password data from the NoSQL plugins no longer shows up in cleartext in debug logging. | |
</action> | |
<action issue="LOG4J2-448" dev="rgoers" type="fix" due-to="X86core"> | |
A StringIndexOutOfBounds exception could occur during property substitution. | |
</action> | |
<action issue="LOG4J2-597" dev="rgoers" type="fix"> | |
StatusLogger was not skipping multiple instances of the FQCN class, causing messages from classes in | |
the Verbose list to be printed. | |
</action> | |
<action issue="LOG4J2-585" dev="rgoers" type="update" due-to="Bruce Brouwer"> | |
Add support for multiple parents to Markers. | |
</action> | |
<action issue="LOG4J2-595" dev="mattsicker" type="add"> | |
Introduce Java annotation processor as the new plugin pre-caching mechanism. This is available in log4j-core. | |
All custom plugins created before this should be re-built against the current log4j-core. | |
</action> | |
<action issue="LOG4J2-564" dev="mattsicker" type="fix"> | |
Renamed SLF4J logger class to Log4jLogger. | |
</action> | |
<action issue="LOG4J2-579" dev="ggregory" type="fix"> | |
Rework Level comparison APIs. | |
</action> | |
<action issue="LOG4J2-576" dev="ggregory" type="add"> | |
Add org.apache.logging.log4j.Logger.getLevel(). | |
</action> | |
<action issue="LOG4J2-574" dev="rpopma" type="update"> | |
Make Blocking the default WaitStrategy for Async Loggers. | |
</action> | |
<action issue="LOG4J2-555" dev="rpopma" type="update" due-to="Bruce Brouwer"> | |
Introduce ExtendedLogger interface to facilitate implementing and extending Loggers. | |
</action> | |
<action issue="LOG4J2-560" dev="rgoers" type="fix"> | |
SyslogAppenderTest and RFC5424LayoutTest were failing in Java 8. | |
</action> | |
<action issue="LOG4J2-561" dev="ggregory" type="update" due-to="vibin"> | |
Allow spaces around commas in Configuration's package attribute. | |
</action> | |
<action issue="LOG4J2-547" dev="rgoers" type="update" due-to="Bruce Brouwer"> | |
Have Logger API expose a PrintWriter instead of custom LoggerStream. | |
</action> | |
<action issue="LOG4J2-439" dev="rgoers" type="add" due-to="Bruce Brouwer"> | |
Add EncodingPatternConverter to escape newlines and HTML special characters. | |
</action> | |
<action issue="LOG4J2-496" dev="rgoers" type="update"> | |
Allow header and footer to be specified as lookup patterns in PatternLayout. | |
</action> | |
<action issue="LOG4J2-499" dev="rgoers" type="fix"> | |
Add equals and hashcode to Log4jLogEvent. | |
</action> | |
<action issue="LOG4J2-410" dev="rgoers" type="update" due-to="Ivlin Zeng"> | |
SLf4JLogger is now Serializable. | |
</action> | |
<action issue="LOG4J2-427" dev="rgoers" type="add" due-to="Alexander Reelsen"> | |
Add support for configuration via YAML. | |
</action> | |
<action issue="LOG4J2-378" dev="rgoers" type="fix"> | |
Add DateLookup and ThreadContextLookup to default lookups. | |
</action> | |
<action issue="LOG4J2-468" dev="rgoers" type="update"> | |
Add support to add a LoggerConfig. Document two ways to modify the configuration. | |
</action> | |
<action issue="LOG4J2-582" dev="ggregory" type="update"> | |
Rename org.apache.logging.log4j.core.net.SocketServer to TCPSocketServer and refactor with UDP. | |
</action> | |
<action issue="LOG4J2-592" dev="ggregory" type="update"> | |
Update Jackson to 2.3.2 from 2.2.2. | |
</action> | |
</release> | |
<release version="2.0-rc1" date="2014-02-16" description="Bug fixes and enhancements"> | |
<action dev="nickwilliams" type="delete"> | |
Removed the DataSourceConnectionSource and the <DriverManager> plugin for the JDBC Appender. It is not | |
safe to use. Please use the DataSource or factory connection sources backed by a connection pool. | |
</action> | |
<action dev="nickwilliams" type="update"> | |
Renamed the org.apache.logging.log4j.core.appender.db.nosql.mongo package to | |
org.apache.logging.log4j.core.appender.db.nosql.mongodb. | |
</action> | |
<action dev="grobmeier" type="update"> | |
Renamed the org.apache.logging.log4j.core.appender.db.nosql.couch package to | |
org.apache.logging.log4j.core.appender.db.nosql.couchdb. | |
</action> | |
<action issue="LOG4J2-500" dev="rpopma" type="fix"> | |
(JMX - ObjectNames changed!) Unloading one web application unloads JMX MBeans for all web applications. | |
</action> | |
<action issue="LOG4J2-507" dev="ggregory" type="update"> | |
Space Level numbers by 100 instead of 1. | |
</action> | |
<action issue="LOG4J2-531" dev="rpopma" type="fix" due-to="Geoff Ballinger"> | |
Fixed bugs where rolled log files were overwritten by RollingFile appender with | |
composite time and size based policies. | |
</action> | |
<action issue="LOG4J2-475" dev="nickwilliams" type="fix" due-to="Matt Sicker"> | |
Changed the MongoDBConnection to add a MongoDB encoding hook instead of a decoding hook. | |
</action> | |
<action issue="LOG4J2-489" dev="nickwilliams" type="fix"> | |
Fixed the JPAAppender's overuse of transactions by connecting (borrowing from pool) on new write internal or on | |
flush. | |
</action> | |
<action issue="LOG4J2-457" dev="nickwilliams" type="fix"> | |
Fixed failure of JDBC and JPA appender to properly release database connections by connecting (borrowing from | |
pool) on new write internal or on flush. | |
</action> | |
<action issue="LOG4J2-442" dev="nickwilliams" type="fix"> | |
Fixed problem with JDBC and JPA appender connectivity in WebSphere by connecting (borrowing from pool) on new | |
write internal or on flush. | |
</action> | |
<action issue="LOG4J2-438" dev="nickwilliams" type="fix"> | |
Ensured the JDBCAppender commits transactions after a single write or a flush of multiple writes. | |
</action> | |
<action issue="LOG4J2-407" dev="nickwilliams" type="fix"> | |
Fixed inability to recover from lost database connection in database appenders by connecting (borrowing from | |
pool) on new write internal or on flush. | |
</action> | |
<action issue="LOG4J2-530" dev="rpopma" type="add"> | |
(JMX) JMX Client GUI should dynamically update when LoggerContext MBeans are registered/unregistered in MBean | |
server. | |
</action> | |
<action issue="LOG4J2-511" dev="rpopma" type="fix" due-to="James Pretorius"> | |
Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first | |
before stopping other appenders. | |
</action> | |
<action issue="LOG4J2-392" dev="rpopma" type="fix" due-to="ilynaf, Andre Bogus"> | |
Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first | |
before stopping other appenders. | |
</action> | |
<action issue="LOG4J2-345" dev="rpopma" type="fix" due-to="Roland Weiglhofer, Matt Sicker"> | |
(OSGi) logging.log4j-1.2-api doesn't export the log4j API 1.2. Dependent bundles can not be resolved. | |
</action> | |
<action issue="LOG4J2-523" dev="ggregory" type="fix"> | |
LocalizedMessage serialization is broken. | |
</action> | |
<action issue="LOG4J2-385" dev="rpopma" type="fix" due-to="Ace Funk, Porfirio Partida"> | |
Fixed issues with time-based file rollover (monthly, weekly, hourly and every minute). | |
</action> | |
<action issue="LOG4J2-452" dev="nickwilliams" type="fix"> | |
Added a ServletContext attribute that, when set to "true", disables Log4j's auto-initialization in | |
Servlet 3.0+ web applications. | |
</action> | |
<action issue="LOG4J2-512" dev="nickwilliams" type="fix" due-to="Chandra Sekhar Kakarla, Matt Sicker"> | |
Exposed Log4j web support interface and methods and the LoggerContext through ServletContext attributes | |
so that threads not affected by filters (such as asynchronous threads) can utilize the LoggerContext. Also | |
updated the Log4j filter so that it supports async. | |
</action> | |
<action issue="LOG4J2-409" dev="nickwilliams" type="fix" due-to="Frank Steinmann, Thomas Neidhart"> | |
Created a utility to properly escape backslashes before creating URIs, and changed URI creation to use the | |
utility instead of instantiating URI directly. | |
</action> | |
<action issue="LOG4J2-344" dev="nickwilliams" type="fix" due-to="Keir Lawson, Tomasz Wladzinski"> | |
Changed the Servlet 3.0 auto-initializer to add the filter by class to get around a WebLogic bug. | |
</action> | |
<action issue="LOG4J2-359" dev="nickwilliams" type="fix" due-to="Abhinav Shah"> | |
Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This | |
ensures behavioral consistency across containers. This includes additional fixes to abort initialization if a | |
duplicate filter already exists and to check the actual Servlet EFFECTIVE version. | |
</action> | |
<action issue="LOG4J2-517" dev="rpopma" type="fix"> | |
Switch in log4j-1.2-api Category.getEffectiveLevel has no cases for FATAL, OFF. | |
</action> | |
<action issue="LOG4J2-41" dev="rgoers" type="update" due-to="Nick Williams"> | |
Add support for custom logging levels. | |
</action> | |
<action issue="LOG4J2-406" dev="rpopma" type="fix" due-to="Kerrigan Joseph"> | |
(JMX) Unregister all log4j JMX MBeans when the LoggerContext is stopped | |
to allow web application classes to be GC-ed on undeploy. | |
</action> | |
<action issue="LOG4J2-405" dev="rgoers" type="fix"> | |
Configuration was being processed twice at startup. | |
</action> | |
<action issue="LOG4J2-479" dev="rpopma" type="add" due-to="MK"> | |
ThreadContext now uses plain ThreadLocal by default, unless system property | |
isThreadContextMapInheritable has value "true". | |
</action> | |
<action issue="LOG4J2-398" dev="rgoers" type="fix"> | |
Configure properties and setup Interpolator before processing rest of configuration. | |
</action> | |
<action issue="LOG4J2-481" dev="rgoers" type="add" due-to="Matt Sicker"> | |
Add Stream interface to Loggers. | |
</action> | |
<action issue="LOG4J2-490" dev="rgoers" type="update" due-to="Matt Sicker"> | |
Update EasyMock to version 3.2. | |
</action> | |
<action issue="LOG4J2-470" dev="rgoers" type="fix"> | |
hostName property was not being set until after the first configuration element. | |
</action> | |
<action issue="LOG4J2-464" dev="rgoers" type="fix"> | |
Support arrays as sub-elements of a JSON configuration. | |
</action> | |
<action issue="LOG4J2-492" dev="rpopma" type="fix" due-to="Shaddy Baddah, Herlani Junior"> | |
(JMX) Fixed MalformedObjectNameException if context name contains '=' or newline characters. | |
</action> | |
<action issue="LOG4J2-377" dev="rpopma" type="fix" due-to="Roland Weiglhofer, Matt Sicker"> | |
(OSGi) Fix NPE during shutdown. | |
</action> | |
<action issue="LOG4J2-463" dev="rpopma" type="fix" due-to="Michael Diamond, Matt Sicker"> | |
Fixed documentation for MyApp example application in the Automatic Configuration section | |
</action> | |
<action issue="LOG4J2-408" dev="rpopma" type="fix" due-to="Dongqing Hu, Matt Sicker"> | |
Fixed error in documentation code example in manual/eventlogging.html | |
</action> | |
<action issue="LOG4J2-451" dev="rpopma" type="fix" due-to="Vinay Pothnis, Matt Sicker"> | |
Fixed typo in documentation: system property should be log4j2.loggerContextFactory | |
</action> | |
<action issue="LOG4J2-443" dev="rpopma" type="fix" due-to="Colin Froggatt, Tudor Har"> | |
(JMX) Fixed issue where log4j2 LoggerContext did not show up in JMX GUI or JConsole. | |
</action> | |
<action issue="LOG4J2-485" dev="rpopma" type="fix"> | |
Fixed issue where toString methods that perform logging could deadlock AsyncAppender. | |
</action> | |
<action issue="LOG4J2-445" dev="rpopma" type="fix" due-to="Anthony Baldocchi"> | |
ResolverUtil cannot find packages in file URLs which include the '+' character. | |
</action> | |
<action issue="LOG4J2-430" dev="rgoers" type="fix" due-to="David Gstir"> | |
Use the formatted Message in RFC5424Layout for non-StructuredDataMessages. | |
</action> | |
<action issue="LOG4J2-459" dev="rgoers" type="fix"> | |
Set external context when constructing the LoggerContext. | |
</action> | |
<action issue="LOG4J2-466" dev="rpopma" type="fix" due-to="Jan Tepke"> | |
Cannot load log4j2 config file if path contains plus '+' characters. | |
</action> | |
<action issue="LOG4J2-462" dev="rpopma" type="fix" due-to="Daisuke Baba"> | |
Fix LogEvent to never return null Level, fixes LevelPatternConverter.format may throw NPE. | |
</action> | |
<action issue="LOG4J2-465" dev="rpopma" type="fix" due-to="Daisuke Baba"> | |
Fix LogEvent to never return null Level, fixes ThresholdFilter throws NPE. | |
</action> | |
<action issue="LOG4J2-471" dev="rpopma" type="fix" due-to="Anthony Baldocchi"> | |
Fixed issue where toString methods that perform logging could deadlock AsyncLogger. | |
</action> | |
<action issue="LOG4J2-482" dev="rpopma" type="add" due-to="Hongdi Ren"> | |
Documentation fix: The attribute of Route to refer to an appender is "ref" not "AppenderRef". | |
</action> | |
<action issue="LOG4J2-467" dev="rpopma" type="add" due-to="Anthony Baldocchi"> | |
Added option to toggle Thread name caching in AsyncLogger. | |
</action> | |
<action issue="LOG4J2-478" dev="ggregory" type="fix" due-to="Michael Friedmann."> | |
The message and ndc fields are not JavaScript escaped in JSONLayout. | |
</action> | |
<action issue="LOG4J2-455" dev="rpopma" type="fix" due-to="Robin Zhang Tao"> | |
RingBufferLogEvent should return Message timestamp for TimestampMessage messages. | |
</action> | |
<action issue="LOG4J2-477" dev="rpopma" type="fix" due-to="Tal Liron"> | |
NPE in ClassLoaderContextSelector. | |
</action> | |
<action issue="LOG4J2-454" dev="rpopma" type="fix" due-to="Robin Zhang Tao"> | |
TimeBasedTriggeringPolicy should use event time millis. | |
</action> | |
<action issue="LOG4J2-472" dev="rpopma" type="fix" due-to="Tal Liron"> | |
BaseConfiguration class does not properly implement Configuration interface. | |
</action> | |
<action issue="LOG4J2-447" dev="ggregory" type="fix" due-to="Jeff Hudren, Mark Paluch, Scott Deboy"> | |
XMLLayout does not include marker name. | |
</action> | |
<action issue="LOG4J2-453" dev="rgoers" type="update"> | |
Update Flume Appender to use Flume 1.4.0. | |
</action> | |
<action issue="LOG4J2-423" dev="rpopma" type="add"> | |
(JMX) Added MBeans for instrumenting AsyncAppenders and AsyncLogger RingBuffers, | |
exposing queue size, remaining capacity and other attributes. | |
</action> | |
<action issue="LOG4J2-323" dev="rpopma" type="fix"> | |
Resolved memory leak by releasing reference to ThreadLocal when | |
AsyncLogger is stopped. | |
</action> | |
<action issue="LOG4J2-425" dev="rpopma" type="fix"> | |
Resolved memory leak by populating AsyncLoggerConfigHelper ring buffer | |
via EventTranslatorTwoArg, eliminating the need for a ThreadLocal. | |
</action> | |
<action issue="LOG4J2-420" dev="ggregory" type="add"> | |
Create a lookup for resource bundle substitution. | |
</action> | |
<action issue="LOG4J2-417" dev="ggregory" type="fix"> | |
Fix Event Level / LoggerConfig Level table at the architecture documentation page. | |
</action> | |
<action issue="LOG4J2-415" dev="ggregory" type="add"> | |
Format log event time as UNIX time (seconds or milliseconds). | |
</action> | |
<action issue="LOG4J2-404" dev="rgoers" type="fix" due-to="Kamal Bahadur"> | |
@EnterpriseNumber" was missing in the ID of structured data when RFC5424Layout is used | |
</action> | |
<action issue="LOG4J2-379" dev="rpopma" type="fix"> | |
Fixed issue that prevented Log4J from working in Google App Engine. | |
</action> | |
<action issue="LOG4J2-401" dev="ggregory" type="add"> | |
Configure FileAppender buffer size. | |
</action> | |
<action issue="LOG4J2-402" dev="ggregory" type="add"> | |
Configure RandomAccessFileAppender buffer size. | |
</action> | |
<action issue="LOG4J2-528" dev="ggregory" type="update"> | |
Rename package org.apache.logging.log4j.core.appender.rolling.helper to org.apache.logging.log4j.core.appender.rolling.action. | |
</action> | |
<action issue="LOG4J2-532" dev="ggregory" type="update"> | |
Resource leak in Flume appender when it cannot create a BerkeleyDB db. | |
</action> | |
<action issue="LOG4J2-413" dev="ggregory" type="update"> | |
PatternLayout option to not output ANSI escape codes if no Console is available. | |
</action> | |
</release> | |
<release version="2.0-beta9" date="2013-09-14" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-317" dev="ggregory" type="update"> | |
Renamed FastFileAppender and FastRollingFileAppender to RandomAccessFileAppender | |
and RollingRandomAccessFileAppender. Configurations using the Fast(Rolling)File element | |
no longer work and should be modified to use the (Rolling)RandomAccessFile element. | |
</action> | |
<action dev="nickwilliams" type="update"> | |
Changed the "suppressExceptions" configuration attribute for all Appenders to "ignoreExceptions" to avoid | |
confusion with Java 7 suppressed exceptions. Also renamed the Appender#isExceptionSuppressed() method to | |
Appender#ignoreExceptions() to avoid the same confusion. All Appenders by default internally log and then ignore | |
exceptions encountered while logging. Setting "ignoreExceptions" to "false" on an Appender causes it to allow | |
exceptions to propagate to the caller. You must set "ignoreExceptions" to "false" for Appenders you are wrapping | |
in the Failover Appender. | |
</action> | |
<action dev="nickwilliams" type="update"> | |
Changed the (relatively new) PatternLayout configuration attribute "suppressExceptions" to | |
"alwaysWriteExceptions" to more correctly indicate what it does. As such, the meaning of this attribute has | |
reversed (previous "true"s should become "false"s, and vice versa). Since this was an undocumented attribute up | |
until now, it's unlikely this change will affect any users. | |
</action> | |
<action issue="LOG4J2-226" dev="rgoers" type="fix"> | |
Fix table of contents generation in pdf. | |
</action> | |
<action issue="LOG4J2-395" dev="rgoers" type="fix" due-to="Abhinav Shah"> | |
Allow classpath scheme when specifying configuration file location as a system property. | |
</action> | |
<action issue="LOG4J2-393" dev="rgoers" type="fix"> | |
Initialize PluginManager once during configuration. Move advertisement setup into BaseConfiguration. | |
</action> | |
<action issue="LOG4J2-391" dev="rgoers" type="fix" due-to="Kamal Bahadur"> | |
FlumePersistentManager now handles LockConflictExceptions in Berkeley Db. | |
</action> | |
<action issue="LOG4J2-399" dev="ggregory" type="add"> | |
Allow the default file rollover strategy to define the compression level. | |
</action> | |
<action issue="LOG4J2-338" dev="rgoers" type="add" due-to="Tibor Benke"> | |
Add TLSAppender. Also added missing license headers to several files. | |
</action> | |
<action issue="LOG4J2-380" dev="rgoers" type="fix"> | |
Use rollover date when substituting ${date} in the filePattern. | |
</action> | |
<action issue="LOG4J2-253" dev="rpopma" type="add"> | |
Added FAQ page to the site. | |
</action> | |
<action issue="LOG4J2-362" dev="rpopma" type="add"> | |
Add a diagram to the site (FAQ page) that explains when to use which jar. | |
</action> | |
<action issue="LOG4J2-322" dev="nickwilliams" type="fix"> | |
Centralized reflective use of Reflection#getCallerClass and properly handled its instability in various versions | |
of Java. | |
</action> | |
<action issue="LOG4J2-293" dev="rgoers" type="fix"> | |
Reset the Configuration if the ClassLoaderContextSelector creates a LoggerContext without a configuration | |
location and then is later provided one. | |
</action> | |
<action issue="LOG4J2-293" dev="nickwilliams" type="fix" due-to="Abhinav Shah"> | |
Changed the ConfigurationFactory to recognize and properly use the classpath: URI scheme in addition to the | |
classloader: URI scheme. | |
</action> | |
<action issue="LOG4J2-359" dev="nickwilliams" type="fix" due-to="Abhinav Shah"> | |
Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This | |
ensures behavioral consistency across containers. | |
</action> | |
<action issue="LOG4J2-374" dev="ggregory" type="add" due-to="Tibor Benke"> | |
Add more options to PatternLayout to display more detailed information about a Throwable. | |
</action> | |
<action issue="LOG4J2-383" dev="ggregory" type="add"> | |
[Pattern Layout] Customize level names by length. | |
</action> | |
<action issue="LOG4J2-384" dev="ggregory" type="add"> | |
[Pattern Layout] Customize level names to lower-case. | |
</action> | |
<action issue="LOG4J2-355" dev="ggregory" type="update" due-to="Tibor Benke"> | |
Add support for multiple SD-ELEMENTs in a RFC 5424 syslog message. | |
</action> | |
<action dev="nickwilliams" type="update"> | |
Cleaned up tests and cleared up documentation for the JPA appender following the resolution of EclipseLink | |
issue #412454. | |
</action> | |
<action issue="LOG4J2-310" dev="rpopma" type="fix" due-to="Olivier Lemasle"> | |
Fixed issue where SMTPAppender did not send mails with error or fatal level without prior info event. | |
</action> | |
<action issue="LOG4J2-368" dev="rgoers" type="fix"> | |
Add PatternLayout constructor to Log4j 1.2 bridge for Velocity. | |
</action> | |
<action issue="LOG4J2-333" dev="ggregory" type="fix" due-to="Hervé Boutemy"> | |
Match artifact ids with Maven module names. | |
</action> | |
<action issue="LOG4J2-364" dev="rgoers" type="add" due-to="David Nault"> | |
Add WebLookup to retrieve information from the ServletContext. | |
</action> | |
<action issue="LOG4J2-367" dev="ggregory" type="fix" due-to="David Parry"> | |
JMS appenders send two messages for one append. | |
</action> | |
<action issue="LOG4J2-319" dev="ggregory" type="fix"> | |
Double stack trace logging when using %throwable in %style and %highlight. | |
</action> | |
<action issue="LOG4J2-360" dev="rgoers" type="add"> | |
Allow Plugins to have aliases. | |
</action> | |
<action issue="LOG4J2-358" dev="nickwilliams" type="fix"> | |
NoSQLAppender using MongoDB provider ignores username and password attributes | |
</action> | |
<action issue="LOG4J2-356" dev="ggregory" type="add"> | |
Create a JSON Layout. | |
</action> | |
<action issue="LOG4J2-343" dev="rpopma" type="fix" due-to="Henning Schmiedehausen"> | |
Removed unnecessary generics from Appender interface and implementing classes. | |
</action> | |
<action issue="LOG4J2-351" dev="rpopma" type="fix" due-to="Roland Weiglhofer"> | |
[OSGi] wrong Fragment-Host in manifest files. | |
</action> | |
<action issue="LOG4J2-336" dev="rpopma" type="fix" due-to="Andre Bogus"> | |
AsyncLogger errors after multiple calls to LoggerContext.reconfigure(). | |
</action> | |
<action issue="LOG4J2-347" dev="rpopma" type="fix" due-to="David Phillips"> | |
Give the AsyncAppender thread a more descriptive name for easier debugging/profiling. | |
</action> | |
<action issue="LOG4J2-332" dev="rgoers" type="fix" due-to="Hervé Boutemy"> | |
Modified documentation to refer to SLF4J Binding instead of SLF4J Bridge. | |
</action> | |
<action issue="LOG4J2-342" dev="rgoers" type="fix"> | |
Ignore xml:base attributes. | |
</action> | |
<action issue="LOG4J2-309" dev="rgoers" type="fix"> | |
Insure jars and distributions only have a single License and Notice file. | |
</action> | |
<action issue="LOG4J2-341" dev="ggregory" type="add"> | |
Enable XInclude for XML configurations. | |
</action> | |
<action issue="LOG4J2-320" dev="ggregory" type="fix"> | |
JPAAppender stops logging because META-INF/log4j-provider.properties is left open. | |
</action> | |
<action issue="LOG4J2-335" dev="rgoers" type="fix"> | |
FlumePersistentManager's writer thread had high CPU usage. | |
</action> | |
<action issue="LOG4J2-331" dev="nickwilliams" type="fix"> | |
Removed erroneous check for affected MongoDB records, which always returns zero on inserts. | |
</action> | |
<action issue="LOG4J2-330" dev="nickwilliams" type="fix"> | |
Added a BSON Transformer so that MongoDB can persist Log4j events. | |
</action> | |
<action issue="LOG4J2-329" dev="rgoers" type="fix"> | |
StatusLogger now only creates StatusData objects if they are the appropriate logging level. | |
</action> | |
<action issue="LOG4J2-328" dev="rgoers" type="fix"> | |
FlumePersistentManager was calling Berkeley DB's count method too frequently. | |
</action> | |
<action issue="LOG4J2-280" dev="rpopma" type="fix"> | |
Additional fix to make AsyncAppender threads daemon threads and improve their thread name. | |
</action> | |
<action issue="LOG4J2-165" dev="rgoers" type="fix"> | |
The slf4j-ext jar is now an optional dependency of the SLF4J bridge. | |
</action> | |
<action issue="LOG4J2-318" dev="rgoers" type="update"> | |
Allow shutdown hook to be disabled in the configuration. | |
</action> | |
<action issue="LOG4J2-166" dev="rgoers" type="fix"> | |
RoutingAppender's default Route can now be an appender reference. | |
</action> | |
<action issue="LOG4J2-313" dev="rgoers" type="add" due-to="Woonsan Ko"> | |
Add JNDILookup plugin. | |
</action> | |
<action issue="LOG4J2-299" dev="rgoers" type="fix"> | |
Add getThrowable method to ThrowableProxy. | |
</action> | |
<action issue="LOG4J2-216" dev="rgoers" type="fix"> | |
ThrowableProxy no longer extends Throwable. | |
</action> | |
<action issue="LOG4J2-311" dev="rpopma" type="fix"> | |
Synchronized flush() and close() methods in the XxxFileManager and OutputStreamManager classes. | |
</action> | |
<action issue="LOG4J2-312" dev="ggregory" type="update"> | |
XML layout improvements (compact vs. pretty, namespace, namespace prefix, root element). | |
</action> | |
<action issue="LOG4J2-388" dev="ggregory" type="update"> | |
Update Java Mail dependency to 1.5.0 from 1.4.7. | |
</action> | |
<action issue="LOG4J2-325" dev="ggregory" type="update"> | |
Update JDBC tests to use H2 database 1.3.173 from 1.3.172. | |
</action> | |
<action issue="LOG4J2-366" dev="ggregory" type="update"> | |
Update commons-logging to 1.1.3 from 1.1.1. | |
</action> | |
<action issue="LOG4J2-390" dev="ggregory" type="update"> | |
Update HSQLDB dependency to 2.3.0 from 2.2.9. | |
</action> | |
<action issue="LOG4J2-308" dev="rpopma" type="update"> | |
Clarified which library versions were used in Async Loggers performance test. | |
</action> | |
<action issue="LOG4J2-307" dev="rpopma" type="update"> | |
Updated Async Loggers' LMAX Disruptor library from 3.0.1 to 3.2.0. | |
</action> | |
<action issue="LOG4J2-306" dev="ggregory" type="update"> | |
Update JSON Jackson library to 2.2.2 from 2.2.1. | |
</action> | |
<action issue="LOG4J2-387" dev="ggregory" type="update"> | |
Update Jackson dependency to 1.9.13 from 1.9.11. | |
</action> | |
<action issue="LOG4J2-305" dev="ggregory" type="add"> | |
Ease porting from 1.x Logger.getRootLogger(): add LogManager.getRootLogger(). | |
</action> | |
<action issue="LOG4J2-304" dev="rpopma" type="fix"> | |
Fixed Async Loggers memory leak. | |
</action> | |
<action issue="LOG4J2-291" dev="nickwilliams" type="fix"> | |
Fixed JDBC, JPA, and NoSQL appenders so that the failover appender properly fails over on error. | |
</action> | |
<action dev="nickwilliams" type="update"> | |
Improved site by adding quick jump-off page and menu for Javadoc links for all components. | |
</action> | |
<action issue="LOG4J2-397" dev="ggregory" type="fix" due-to="Yonatan Graber"> | |
Logger.info(Message) Javadoc is incorrect. | |
</action> | |
</release> | |
<release version="2.0-beta8" date="2013-07-10" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-270" dev="nickwilliams" type="update"> | |
Improved logging initialization in Servlet containers, especially Servlet 3.0 and newer where Log4j now | |
initializes and deinitializes automatically with no deployment descriptor configuration. | |
</action> | |
<action issue="LOG4J2-302" dev="rpopma" type="fix"> | |
Added toString methods to ThreadContextStack/Map implementation classes. | |
</action> | |
<action issue="LOG4J2-301" dev="rgoers" type="update"> | |
Add printf methods to Logger API. | |
</action> | |
<action issue="LOG4J2-300" dev="rgoers" type="fix"> | |
WriterThread was ending when no agents are available which caused an OutOfMemoryError. | |
</action> | |
<action issue="LOG4J2-282" dev="rgoers" type="update"> | |
Allow the default status level to be specified as a system property. | |
</action> | |
<action issue="LOG4J2-278" dev="rgoers" type="fix"> | |
Filter calls from Avro or Flume to be ignored by the FlumeAppender. | |
</action> | |
<action issue="LOG4J2-279" dev="rgoers" type="fix"> | |
FlumePersistentManager now calls Berkeley DB from threads to avoid encountering interrupts in the application. | |
</action> | |
<action issue="LOG4J2-296" dev="ggregory" type="fix"> | |
Wasted work in FlumePersistentManager.createManager. | |
</action> | |
<action issue="LOG4J2-297" dev="ggregory" type="fix"> | |
Wasted work in TestConfigurator.testEnvironment. | |
</action> | |
<action issue="LOG4J2-298" dev="ggregory" type="fix"> | |
Wasted work in StyleConverterTest.setupClass. | |
</action> | |
<action issue="LOG4J2-280" dev="rpopma" type="fix"> | |
AsyncLogger threads are now daemon threads and won't prevent the JVM from shutting down anymore. | |
</action> | |
<action issue="LOG4J2-295" dev="rpopma" type="fix"> | |
Fast(Rolling)FileAppender now correctly handles messages exceeding the buffer size. | |
</action> | |
<action issue="LOG4J2-271" dev="rpopma" type="fix"> | |
FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false. | |
</action> | |
<action issue="LOG4J2-267" dev="rpopma" type="fix"> | |
FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false. | |
</action> | |
<action issue="LOG4J2-292" dev="rpopma" type="fix"> | |
Fast(Rolling)FileAppender now correctly appends to (does not overwrite) existing file. | |
</action> | |
<action issue="LOG4J2-294" dev="rgoers" type="update"> | |
LogManager.getLogger can now be called without a logger name or with a null logger name. | |
</action> | |
<action issue="LOG4J2-289" dev="rgoers" type="fix"> | |
Upgrade javadoc plugin to 2.9.1 to fix javadoc security issue. | |
</action> | |
<action issue="LOG4J2-288" dev="gregory" type="update"> | |
Update JUnit to 4.11 from 4.7. | |
</action> | |
<action issue="LOG4J2-286" dev="gregory" type="update"> | |
Update test H2 JDBC driver to 1.172 from 1.171. | |
</action> | |
<action issue="LOG4J2-285" dev="gregory" type="update"> | |
Update Jansi jar to 1.11 from 1.9. | |
</action> | |
<action issue="LOG4J2-284" dev="gregory" type="update"> | |
Update Log4j 1 dependency to 1.2.17 from 1.2.16. | |
</action> | |
<action issue="LOG4J2-386" dev="gregory" type="update"> | |
Update NoSQL dependencies: lightcouch 0.0.6 from 0.0.5, mongodb 2.11.2 from 2.11.1. | |
</action> | |
<action issue="LOG4J2-283" dev="gregory" type="update"> | |
Remove dependency on Apache ORO jar. | |
</action> | |
<action issue="LOG4J2-277" dev="gregory" type="update"> | |
Wasted work in RollingAppenderSizeTest.testAppender() and others. | |
</action> | |
<action issue="LOG4J2-139" dev="rgoers" type="fix"> | |
Fix NullPointerException (regression due to fix for LOG4J2-228) | |
</action> | |
<action issue="LOG4J2-168" dev="rgoers" type="update" due-to="Scott Severtson"> | |
Include arbitrary message fields in RFC-5424 structured data. | |
</action> | |
<action issue="LOG4J2-275" dev="rgoers" type="fix"> | |
FlumeAvroManager fails to notify client of failing event if Flume RPCClient cannot be created. | |
</action> | |
<action issue="LOG4J2-274" dev="ggregory" type="update"> | |
Wasted work in UUIDUtil initialization. | |
</action> | |
<action issue="LOG4J2-273" dev="ggregory" type="update"> | |
Wasted work in XMLLayout.toSerializable(). | |
</action> | |
</release> | |
<release version="2.0-beta7" date="2013-06-01" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-249" dev="rgoers" type="update"> | |
Allow context parameters in Log4jContextListener to include properties. | |
</action> | |
<action issue="LOG4J2-263" dev="rgoers" type="fix"> | |
Do not allow a charset on RFC5424Layout - use UTF-8. | |
</action> | |
<action issue="LOG4J2-242" dev="rgoers" type="fix"> | |
StringFormattedMessage and MessageFormatMessage now will accept a Throwable as their last argument and | |
pass it on. | |
</action> | |
<action issue="LOG4J2-243" dev="rgoers" type="update"> | |
Allow custom LogEventFactories. | |
</action> | |
<action issue="LOG4J2-262" dev="rgoers" type="update" due-to="Edward Sargisson"> | |
Add support for interceptors in the embedded Flume Appender. | |
</action> | |
<action issue="LOG4J2-269" dev="rgoers" type="fix"> | |
Use transaction when batch size is 1. | |
</action> | |
<action issue="LOG4J2-268" dev="rgoers" type="fix"> | |
Add guid to FlumeEvent headers for non-Map Messages. | |
</action> | |
<action issue="LOG4J2-246" dev="rgoers" type="fix"> | |
Data buffer is reset in finally clause. | |
</action> | |
<action issue="LOG4J2-228" dev="rgoers" type="fix"> | |
UDP now sends one event per packet. | |
</action> | |
<action dev="rpopma" type="update"> | |
Method name changes in interface org.apache.logging.log4j.spi.ThreadContextMap: | |
getContext() to getCopy(), get() to getImmutableMapOrNull(). | |
</action> | |
<action issue="LOG4J2-154" dev="rpopma" type="update"> | |
Improve ThreadContext performance with copy-on-write map and stack. | |
</action> | |
<action issue="LOG4J2-261" dev="rgoers" type="fix" due-to="Edward Sargisson"> | |
Add missing "not" to error message. | |
</action> | |
<action issue="LOG4J2-10" dev="rgoers" type="add" due-to="Timothy Ward"> | |
Break up core into multiple osgi jars. | |
</action> | |
<action issue="LOG4J2-223" dev="rgoers" type="fix"> | |
Remove LoggerContext when LoggerContext is stopped. | |
</action> | |
<action issue="LOG4J2-260" dev="ggregory" type="fix"> | |
XML layout does not specify charset in content type. | |
</action> | |
<action issue="LOG4J2-259" dev="ggregory" type="fix"> | |
HTML layout does not specify charset in content type. | |
</action> | |
<action issue="LOG4J2-258" dev="ggregory" type="fix"> | |
HTML layout does not output meta element for charset. | |
</action> | |
<action issue="LOG4J2-257" dev="ggregory" type="fix"> | |
XML layout ignores charset for the XML processing instruction's encoding attribute. | |
</action> | |
<action issue="LOG4J2-255" dev="rpopma" type="fix"> | |
Multi-byte character strings are now assumed to be in the platform default encoding, not UTF-8. | |
</action> | |
<action issue="LOG4J2-254" dev="rgoers" type="fix"> | |
Mark OutputStream in OutputStreamManager as volatile. Mark header and footer as final. | |
</action> | |
<action issue="LOG4J2-244" dev="rgoers" type="fix"> | |
Rewrite Appender was ignoring filters on referenced appenders. | |
</action> | |
<action issue="LOG4J2-245" dev="rgoers" type="fix"> | |
Avoid EmptyStack exception if getCallerClass and SecurityManager are not available. | |
</action> | |
<action issue="LOG4J2-229" dev="ggregory" type="add" due-to="Nick Williams"> | |
New JDBC, JPA, and NoSQL database Appenders. | |
</action> | |
<action issue="LOG4J2-247" dev="ggregory" type="fix"> | |
SocketServer.isActive should be volatile because it is accessed from different threads. | |
</action> | |
<action issue="LOG4J2-251" dev="sdeboy" type="add"> | |
Provide configuration information (location, content type, content if possible) via a registered Advertiser. | |
</action> | |
</release> | |
<release version="2.0-beta6" date="2013-05-05" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-231" dev="rgoers" type="fix"> | |
Logger.getParent() was not returning the correct Logger. | |
</action> | |
<action issue="LOG4J2-201" dev="rgoers" type="fix"> | |
Renamed Plugin annotation attribute from "type" to "category". | |
</action> | |
<action issue="LOG4J2-237" dev="rpopma" type="update"> | |
Moved JMX Client GUI classes into separate jmx-gui submodule. | |
</action> | |
<action issue="LOG4J2-219" dev="rpopma" type="fix" due-to="Peter DePasquale"> | |
Fix: install default root logger if not configured (this is unchanged), | |
but make sure to include configured named loggers. Clarified documentation. | |
</action> | |
<action issue="LOG4J2-159" dev="rgoers" type="fix"> | |
Use OSGi version format in Fragment-Host | |
</action> | |
<action issue="LOG4J2-234" dev="rgoers" type="fix"> | |
RegexFilter threw a NullPointerException when used as a context-wide filter. | |
</action> | |
<action issue="LOG4J2-192" dev="rgoers" type="fix"> | |
Add support for interpolating Environment variables when processing the configuration. | |
</action> | |
<action issue="LOG4J2-235" dev="rpopma" type="fix" due-to="Sebastian Oerding"> | |
Removed dependency on tools jar from core module, made jconsole dependency optional. | |
</action> | |
<action issue="LOG4J2-233" dev="rpopma" type="fix"> | |
Fixed link to log4j-user mailing list. | |
</action> | |
<action issue="LOG4J2-230" dev="rpopma" type="update" due-to="Wojciech Zaręba"> | |
Improved error reporting when misconfigured. | |
</action> | |
<action issue="LOG4J2-222" dev="rgoers" type="fix" due-to="Steven Yang"> | |
Disruptor will now shutdown during Tomcat shutdown. | |
</action> | |
<action dev="rpopma" type="update"> | |
Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was Asynch). | |
</action> | |
<action dev="rpopma" type="update"> | |
Removed CheckStyle false positives for NewlineAtEndOfFile and whitespace following '*' at end of line in javadoc. | |
</action> | |
<action dev="rpopma" type="update"> | |
Moved Clock interface to package org.apache.logging.log4j.core.helpers. | |
</action> | |
<action issue="LOG4J2-225" dev="rpopma" type="update"> | |
Documentation updates to clarify use and impact of location in pattern layouts. | |
</action> | |
<action issue="LOG4J2-224" dev="rgoers" type="fix"> | |
The FlumeAppender failed to start if the Flume RPCClient could not connect to any Flume agents. | |
</action> | |
<action issue="LOG4J2-223" dev="rgoers" type="fix"> | |
Fix LoggerContext start and stop to eliminate IllegalStateException and NoClassDefFound errors. | |
</action> | |
<action issue="LOG4J2-221" dev="rgoers" type="fix" due-to="Nick Williams"> | |
Remove hundreds of compiler warnings. | |
</action> | |
<action issue="LOG4J2-215" dev="rpopma" type="fix"> | |
Various small documentation fixes. | |
</action> | |
<action issue="LOG4J2-217" dev="rpopma" type="fix" due-to="Fabien Sanglard"> | |
Ensure PluginManager streams are always closed. | |
</action> | |
</release> | |
<release version="2.0-beta5" date="2013-04-20" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-205" dev="rgoers" type="fix"> | |
Fix deadlock in SocketAppender. Added option to not wait for socket reconnect. | |
</action> | |
<action issue="LOG4J2-207" dev="rgoers" type="add" due-to="Remko Popma"> | |
Add JMX support. | |
</action> | |
<action issue="LOG4J2-211" dev="rgoers" type="fix" due-to="Nick Williams"> | |
Removing extra spaces in entry and exit method output. | |
</action> | |
<action issue="LOG4J2-214" dev="rgoers" type="update" due-to="Remko Popma"> | |
Async documentation update. | |
</action> | |
<action issue="LOG4J2-212" dev="rgoers" type="fix"> | |
Loggers without a "." had no parent logger. | |
</action> | |
<action issue="LOG4J2-208" dev="rgoers" type="update" due-to="Remko Popma"> | |
Move async subproject into core. | |
</action> | |
<action issue="LOG4J2-212" dev="rgoers" type="fix"> | |
Call LoggerContext.stop when the application is shutdown. | |
</action> | |
<action issue="LOG4J2-210" dev="rgoers" type="fix" due-to="Arkin Yetis"> | |
MapMessage was not enclosing key value in quotes when generating XML. | |
</action> | |
<action issue="LOG4J2-198" dev="rgoers" type="fix"> | |
FlumeAvroManager now uses Flume RPCClient. | |
</action> | |
<action issue="LOG4J2-196" dev="rgoers" type="fix"> | |
FlumeAvroManager now uses Flume RPCClient. | |
</action> | |
<action issue="LOG4J2-207" dev="ggregory" type="fix"> | |
Use the Maven group ID org.apache.logging.log4j for all artifacts. | |
</action> | |
<action issue="LOG4J2-187" dev="rgoers" type="add" due-to="Nick Williams"> | |
Add tag library. | |
</action> | |
<action issue="LOG4J2-195" dev="rgoers" type="fix" due-to="Remko Popma"> | |
Unit tests now create files in the target directory. | |
</action> | |
<action issue="LOG4J2-193" dev="rgoers" type="fix" due-to="Remko Popma"> | |
RollingFastFileAppender (in log4j-async) did not roll over. | |
</action> | |
<action issue="LOG4J2-199" dev="rgoers" type="fix" due-to="Remko Popma"> | |
Highlight subprojects in sub-navigation. | |
</action> | |
<action issue="LOG4J2-200" dev="rgoers" type="fix" due-to="Remko Popma"> | |
LoggerContext method renamed to removeFilter from removeFiler. | |
</action> | |
<action issue="LOG4J2-194" dev="rgoers" type="fix" due-to="Remko Popma"> | |
ThrowableFormatOptionsTest failed on Windows due to CR/LF issue. | |
</action> | |
<action issue="LOG4J2-190" dev="rgoers" type="fix" due-to="Werner"> | |
BaseConfiguration addLoggerAppender saved appender using the Logger name. | |
</action> | |
<action issue="LOG4J2-160" dev="rgoers" type="update" due-to="Joanne Polsky"> | |
Move Throwable pattern converter options processing to ThrowableFormatOptions class. | |
</action> | |
<action issue="LOG4J2-157" dev="rgoers" type="update" due-to="Remko Popma"> | |
Allowed Loggers access to the properties in the LoggerConfig. | |
</action> | |
<action issue="LOG4J2-153" dev="rgoers" type="update" due-to="Remko Popma"> | |
Added ability to include or exclude location information. | |
</action> | |
<action issue="LOG4J2-151" dev="rgoers" type="update" due-to="Remko Popma"> | |
Allow Logger and LoggerContext to be subclassed. | |
</action> | |
<action issue="LOG4J2-164" dev="rgoers" type="add" due-to="Remko Popma"> | |
Add methods is/setEndOfBatch to LogEvent. | |
</action> | |
<action issue="LOG4J2-163" dev="rgoers" type="add" due-to="Remko Popma"> | |
Add support for asynchronous loggers. | |
</action> | |
<action issue="LOG4J2-189" dev="rgoers" type="fix" due-to="Werner"> | |
The blocking parameter did not work properly on AsynchAppender. | |
</action> | |
<action issue="LOG4J2-188" dev="rgoers" type="fix" due-to="Werner"> | |
AppenderRefs on AsynchAppender didn't support the level and filter elements. | |
</action> | |
<action issue="LOG4J2-176" dev="rgoers" type="fix" due-to="Remko Popma"> | |
Avoid IllegalArgumentException in AsynchAppender. | |
</action> | |
<action issue="LOG4J2-179" dev="ggregory" type="add"> | |
Add Logger interface APIs to log at given levels. | |
</action> | |
<action issue="LOG4J2-181" dev="rgoers" type="fix"> | |
OutputStreamManager now adds the layout header whenever the OutputStream is set. | |
</action> | |
<action issue="LOG4J2-177" dev="rgoers" type="fix" due-to="Remko Popma"> | |
Fix NullPointerException in DatagramOutputStream when flush is called from multiple threads. | |
</action> | |
<action dev="rgoers" type="add"> | |
Added FlumePersistentManager which writes to BerkeleyDB and then writes to Flume asynchronously. | |
</action> | |
<action issue="LOG4J2-175" dev="sdeboy" type="fix"> | |
Plugin cache should be reset when addPackages is called. | |
</action> | |
<action issue="LOG4J2-155" dev="sdeboy" type="add"> | |
Expose file appender configuration details via an advertisement mechanism. | |
</action> | |
<action issue="LOG4J2-159" dev="rgoers" type="fix" due-to="Jan Winter"> | |
Add Fragment-Host to MANIFEST.MF for log4j-core. | |
</action> | |
<action issue="LOG4J2-167" dev="rgoers" type="fix"> | |
Configurator throws a ClassCastException if LogManager returns a SimpleLoggerContext. | |
</action> | |
<action issue="LOG4J2-169" dev="rgoers" type="fix"> | |
ConfigurationFactory was adding factories on every call. | |
</action> | |
<action issue="LOG4J2-161" dev="rgoers" type="fix"> | |
Modify ClassLoaderContextSelector to use the first ClassLoader in the child parent hierarchy that | |
has a Context with a configuration to allow JSPs to use the WebApp's context and configuration. | |
</action> | |
<action issue="LOG4J2-158" dev="rgoers" due-to="Scott Severtson"> | |
Add RFC 5424 compliant escaping rules to RFC5424Layout. | |
</action> | |
</release> | |
<release version="2.0-beta4" date="2013-01-28" description="Bug fixes and enhancements"> | |
<action issue="LOG4J2-156" dev="ggregory" type="fix" due-to="Andreas Born"> | |
LocalizedMessageTest fails on linux system. | |
</action> | |
<action issue="LOG4J2-152" dev="rgoers" type="fix" due-to="Remko Popma"> | |
RollingFileAppender's FileRenameAction was throwing a NullPointerException if no directory was specified | |
on the target file name. | |
</action> | |
<action issue="LOG4J2-150" dev="rgoers" type="fix"> | |
Convert all System.getProperty calls to use PropertiesUtil to suppress SecurityExceptions. | |
</action> | |
<action issue="LOG4J2-147" dev="rgoers" type="fix" due-to="William Burns"> | |
ThreadContextMapFilter was matching on the key instead of the value of the key. | |
</action> | |
<action dev="rgoers" type="fix"> | |
Allow FlumeAvroManager to initialize even if it cannot connect to an agent. | |
</action> | |
<action issue="LOG4J2-149" dev="rgoers" type="fix" due-to="Scott Severtson"> | |
SMTPAppender will only cache filtered events. | |
</action> | |
<action issue="LOG4J2-145" dev="ggregory" type="fix"> | |
Add missing serial version IDs. | |
</action> | |
<action issue="LOG4J2-144" dev="ggregory" type="fix"> | |
NullPointerException in RFC5424Layout. | |
</action> | |
<action issue="LOG4J2-143" dev="rgoers" type="fix"> | |
MessagePatternConverter now returns "null" if the log message is null. | |
</action> | |
<action issue="LOG4J2-142" dev="rgoers" type="fix"> | |
Serialized LogEvents were not reset in the output stream causing them to deserialize incorrectly. | |
</action> | |
<action issue="LOG4J2-139" dev="rgoers" type="fix"> | |
Fix null pointer exception in SocketAppender if no protocol is specified. The protocol will default | |
to TCP for the SocketAppender and UDP for the SyslogAppender. | |
</action> | |
<action dev="rgoers" type="add"> | |
Added Log4j 2 to SLF4J adapter. | |
</action> | |
<action issue="LOG4J2-140" dev="ggregory" type="fix" due-to="Joern Huxhorn"> | |
Typo in documentation of SocketAppender. | |
</action> | |
<action issue="LOG4J2-137" dev="rgoers" type="fix"> | |
Fix hang in Dumbster SMTP test server. | |
</action> | |
<action issue="LOG4J2-136" dev="rgoers" type="update" due-to="Scott Severtson"> | |
Allow newlines to be escaped in Syslog and RFC5424 layouts. Allow Throwables to be included in | |
the output from RFC5424Layout. | |
</action> | |
<action issue="LOG4J2-131" dev="rgoers" type="add" due-to="Scott Severtson"> | |
Add SMTPAppender. | |
</action> | |
<action issue="LOG4J2-130" dev="rgoers" type="fix"> | |
PatternLayout should format throwables without requiring a converter. | |
</action> | |
<action dev="rgoers" type="add"> | |
Added hostName and contextName to property map. | |
</action> | |
<action issue="LOG4J2-135" dev="ggregory" type="fix" due-to="Ingo Feltes"> | |
BaseConfiguration does not close the first appender. | |
</action> | |
<action dev="rgoers" type="add"> | |
Add MessageFormatMessage and FormattedMessage. | |
</action> | |
<action issue="LOG4J2-134" dev="ggregory" type="add"> | |
Use %red, %white, %blue, and so on in the console appender. | |
</action> | |
<action issue="LOG4J2-133" dev="ggregory" type="add"> | |
Allow custom message creation via a message factory. | |
</action> | |
<action issue="LOG4J2-132" dev="ggregory" type="fix"> | |
AbstractLogger.catching(Throwable) checks for DEBUG level but logs at ERROR level. | |
</action> | |
<action issue="LOG4J2-129" dev="rgoers" type="fix"> | |
RoutingAppender was only creating a single appender for the default Route. | |
</action> | |
<action issue="LOG4J2-126" dev="rgoers" type="fix"> | |
Allow JMS appenders to recover if the queue or topic is unavailable. | |
</action> | |
<action issue="LOG4J2-128" dev="rgoers" type="update"> | |
Add follow attribute to Console Appender. | |
</action> | |
<action issue="LOG4J2-127" dev="rgoers" type="fix"> | |
AbstractLogger methods were not passing Markers to the isEnabled methods. | |
</action> | |
<action dev="rgoers" type="add"> | |
Added Flume Appender samples. | |
</action> | |
<action issue="LOG4J2-122" dev="rgoers" type="update"> | |
Add unit test to verify exceptions are thrown when the socket connection fails. | |
</action> | |
<action issue="LOG4J2-125" dev="rgoers" type="fix"> | |
JMSQueue and JMSTopic Appenders did not allow name to be specified. | |
</action> | |
<action issue="LOG4J2-111" dev="rgoers" type="fix"> | |
Enhanced javadoc copyright statement. | |
</action> | |
<action issue="LOG4J2-110" dev="rgoers" type="update"> | |
Renamed log4j12-api to log4j-1.2-api. | |
</action> | |
<action issue="LOG4J2-120" dev="rgoers" type="fix"> | |
TCPSocketManager would fail if the initial connection could not be established. | |
</action> | |
<action issue="LOG4J2-119" dev="rgoers" type="fix"> | |
A broken socket connection would cause the TCPSocketManager to continuously reconnect. | |
</action> | |
<action issue="LOG4J2-123" dev="rgoers" type="fix" due-to="Olivier Lamy"> | |
The example for ThreadContextMapFilter was incorrect. | |
</action> | |
<action issue="LOG4J2-116" dev="rgoers" type="fix"> | |
File renaming was using the wrong date value. Enhanced DefaultRolloverStrategy to store newest files in | |
highest index as well as lowest. | |
</action> | |
<action issue="LOG4J2-115" dev="rgoers" type="fix"> | |
ThreadContext Map elements with null values are now ignored when constructing a Flume event and in the | |
RFC5424 Layout. | |
</action> | |
<action issue="LOG4J2-113" dev="rgoers" type="fix"> | |
StructuredDataFilter createFilter was annotated with PluginAttr instead of PluginElement for the | |
KeyValuePairs. | |
</action> | |
<action issue="LOG4J2-114" dev="rgoers" type="fix" due-to="Arkin Yetis"> | |
StructuredDataMessage was validating the length of the values in the event Map instead of the lengths | |
of the keys. | |
</action> | |
</release> | |
<release version="2.0-beta3" date="2012-11-11" description= "Bug fixes and enhancements"> | |
<action issue="LOG4J2-108" dev="rgoers" type="fix"> | |
Fix NullPointerException in ClassLoaderContextSelector when no class is returned from | |
the SecurityManager. | |
</action> | |
<action issue="LOG4J2-105" dev="rgoers" type="update"> | |
Add ability to customize the names of the Levels in the LevelPatternConverter. | |
</action> | |
<action issue="LOG4J2-107" dev="rgoers" type="fix"> | |
PatternParser was not properly handling adjacent nested options | |
</action> | |
<action issue="LOG4J2-95" dev="rgoers" type="fix"> | |
Add support for loading plugins inside the OSGi bundle. | |
</action> | |
<action issue="LOG4J2-85" dev="rgoers" type="update"> | |
Add ThreadContext.push(String format, Object... args) | |
</action> | |
<action issue="LOG4J2-103" dev="rgoers" type="fix" due-to="Das Archive"> | |
The LogEvent was wrapping a ThrowableProxy with another ThrowableProxy when deserializing. | |
</action> | |
<action dev="rgoers" type="update"> | |
Created combined jar to combine API and Core contents for users who only want the Log4j implementation. | |
</action> | |
<action issue="LOG4J2-104" dev="rgoers" type="fix"> | |
Convert LogManager binding to use "regular" java properties instead of XML properties to workaround a | |
bug in Oracle's xmlparserv2 jar. | |
</action> | |
<action issue="LOG4J2-28" dev="rgoers" type="add"> | |
Added PropertiesRewritePolicy and ability to define properties on a Logger. | |
</action> | |
<action issue="LOG4J2-87" dev="rgoers" type="update"> | |
Build pdf of user's guide. | |
</action> | |
<action issue="LOG4J2-29" dev="rgoers" type="update"> | |
Added font and fontSize parameters to HTMLLayout. Replace newlines in message with br tag. | |
</action> | |
<action issue="LOG4J2-55" dev="rgoers" type="add"> | |
Added ability to configure from an InputSource. | |
</action> | |
<action issue="LOG4J2-102" dev="rgoers" type="fix" due-to="Emanuele Colombo"> | |
The Facility value was being improperly calculated. | |
</action> | |
<action issue="LOG4J2-101" dev="rgoers" type="fix" due-to="Emanuele Colombo"> | |
A NullPointerException would occur if no format value was passed to the SyslogAppender. | |
</action> | |
<action issue="LOG4J2-99" dev="rgoers" type="fix" due-to="Das Archive"> | |
MapRewritePolicy had an extra call to putAll that caused updates to behave like adds. | |
</action> | |
<action dev="rgoers" type="fix"> | |
Avoid NPE when duplicate LoggerContextFactorys are present. Allow factories to specify a weight to allow | |
real implementations to outrank test implementations. Provide a simple default LoggerContextFactory. | |
</action> | |
<action issue="LOG4J2-97" dev="rgoers" type="fix"> | |
Added several missing classes and methods for Log4j 1.x compatibility. | |
</action> | |
<action issue="LOG4J2-94" dev="rgoers" type="fix" due-to="Denis Treskunov"> | |
Interpolator was not stripping Lookup key separator when trying to locate the default value for a variable. | |
</action> | |
<action dev="rgoers" type="fix"> | |
Log4j 1.2 Category.forcedLog was wrapping the message with an ObjectMessage even if the parameter was an | |
ObjectMessage. | |
</action> | |
</release> | |
<release version="2.0-beta2" date="2012-10-07" description="Bug fixes and enhancements"> | |
<action dev="rgoers" type="update"> | |
Made ParameterizedMessage, StringFormattedMessage and ThreadDumpMessage immutable. LocalizedMessage is | |
immutable except that it will be updated with the logger name when it is added to the LogEvent. | |
</action> | |
<action dev="rgoers" type="fix"> | |
DefaultConfiguration was not starting the Console Appender. | |
</action> | |
<action issue="LOG4J2-35" dev="rgoers" type="add"> | |
Add interval and modulate options to TimeBasedTriggeringPolicy to allow more fine-grained control of | |
when file rolling should occur. | |
</action> | |
<action issue="LOG4J2-58" dev="rgoers" type="add"> | |
Add support for filtering packages from stack traces. | |
</action> | |
<action issue="LOG4J2-84" dev="rgoers" type="add"> | |
If system property "disableThreadContextStack" is set pushes to the ThreadContext will be ignored. If | |
system property "disableThreadContext" is set both puts and pushes will be ignored. | |
</action> | |
<action issue="LOG4J2-83" dev="rgoers" type="add"> | |
If system property "disableThreadContextMap" is set puts to the ThreadContext will be ignored. If | |
system property "disableThreadContext" is set both puts and pushes will be ignored. | |
</action> | |
<action dev="rgoers" type="add"> | |
Add support for ANSI colors by adding the highlight and style pattern converters. Fix pattern | |
parsing to allow nested patterns. | |
</action> | |
<action issue="LOG4J2-92" dev="rgoers" type="fix"> | |
Converted DynamicThresholdFilter to use KeyValuePair. Fixed bugs in the Map-based filters | |
to allow declaration of multiple values for a key to match the documentation. | |
</action> | |
<action issue="LOG4J2-88" dev="rgoers" type="fix"> | |
Many logging methods in AbstractLogger were set to an incorrect logging level. catching was | |
using the THROWING marker and was set to debug instead of error. | |
</action> | |
<action dev="rgoers" type="add"> | |
Allow the status logging to be directed to stderr or to a file. | |
</action> | |
<action issue="LOG4J2-91" dev="rgoers" type="fix"> | |
Log4j 1.2 adapter's Category class was missing 3 log methods. | |
</action> | |
<action issue="LOG4J2-84" dev="rgoers" type="fix"> | |
If the ThreadContext stack is empty the LogEvent will contain a null value to reduce the overhead of | |
creating log events and in the size of the serialized object. Changed the ThreadContext stack to use | |
a custom stack interface instead of java.util.Stack as that class is overly heavy. This change will | |
cause an API incompatibility. | |
</action> | |
<action issue="LOG4J2-83" dev="rgoers" type="fix"> | |
If the ThreadContext map is empty the LogEvent will contain a null value to reduce the overhead of creating | |
log events and in the size of the serialized object. | |
</action> | |
<action dev="rgoers" type="add"> | |
Add getFormats to MultiformatMessage and allow StructuredDataMessage to format as XML. | |
</action> | |
<action issue="LOG4J2-90" dev="rgoers" type="fix"> | |
Add documentation on client vs server mode to performance page. | |
</action> | |
<action dev="rgoers" type="fix"> | |
Move variable substitution from PatternLayout to appropriate converters to improve performance. | |
</action> | |
</release> | |
<release version="2.0-beta1" date="2012-09-18" description="Bug fixes and enhancements"> | |
<action dev="rgoers" type="add"> | |
Added AsynchAppender. | |
</action> | |
<action issue="LOG4J-81" dev="rgoers" type="fix"> | |
PatternLayout was not honoring format modifiers. | |
</action> | |
<action dev="rgoers" type="fix"> | |
Created web module to allow web applications to include the Log4j context listener in WEB-INF/lib even if | |
Log4j is in the container's class path. Allow locating the LoggerContext to include the ClassLoader. Updated | |
the Loader utility to always choose the child ClassLoader. Verified in Jboss 5 and Tomcat. | |
</action> | |
<action issue="LOG4J2-82" dev="rgoers" type="fix"> | |
MarkerFilter called MarkerManager.getMarker causing the Marker to be created during the processing of the | |
configuration. This prevents the application from creating the Marker with any parents. MarkerWrapper in | |
SLF4J-impl was getting a ClassCastException in instanceOf because the Marker isn't a MarkerWrapper. | |
</action> | |
<action issue="LOG4J2-80" dev="rgoers" type="fix" due-to="Oliver Lamy"> | |
Allow Log4j 2 to be used as the implementation with SLF4J and SLF4J's jcl-over-slf4j by adding filtering | |
to the log method in SLF4JLogger. | |
</action> | |
<action issue="LOG4J2-78" dev="rgoers" type="fix"> | |
LogFactoryImpl.setAttribute in the Commons Logging bridge got a NullPointerException when passed a null value. | |
It will now remove the attribute. | |
</action> | |
<action issue="LOG4J2-77" dev="rgoers" type="fix"> | |
RoutingAppender was calling the stop method for each of its referenced Appenders and was calling | |
the stop method of the default Appender a second time. It will now only call the stop method of | |
Appenders it creates. | |
</action> | |
<action issue="LOG4J2-76" dev="rgoers" type="fix"> | |
RewriteAppender was calling the stop method of the referenced appender causing the referenced appender's | |
manager to have its use count decremented too many times. | |
</action> | |
<action issue="LOG4J2-74" dev="rgoers" type="fix"> | |
Logger.error(Marker, Message, Throwable) was internally using Level.TRACE. | |
</action> | |
<action issue="LOG4J2-75" dev="rgoers" type="fix"> | |
Enhanced Log4jContextListener to accept a configuration file location. Modified FileConfigurationMonitor | |
to monitor files configured that way. Fixed other reconfiguration related bugs. Tested in JBoss and | |
Tomcat. | |
</action> | |
<action issue="LOG4J2-72" dev="rgoers" type="fix"> | |
NullPointerException in RollingFileManager when filePattern does not cause the file to be compressed. | |
</action> | |
<action issue="LOG4J2-71" dev="rgoers" type="fix"> | |
FileRenameAction did not create the parent directories of the archive files causing the rollover to fail. | |
</action> | |
<action dev="rgoers" type="update"> | |
Update the versions of SLF4J and Logback. | |
</action> | |
</release> | |
<release version="2.0-alpha2" date="2012-08-24" description="Bug fixes and minor enhancements"> | |
<action issue="LOG4J2-70" dev="rgoers" type="add"> | |
Add getLogger(Class) to LogManager. | |
</action> | |
<action issue="LOG4J2-69" dev="rgoers" type="add"> | |
Allow Flume agents to be embedded into the Flume Appender. | |
</action> | |
<action issue="LOG4J2-68" dev="rgoers" type="add"> | |
Add support for formatting using String.format(). | |
</action> | |
<action issue="LOG4J2-67" dev="rgoers" type="add"> | |
Allow components besides core to create a PluginMap for faster plugin loading and not | |
having to specify the plugin package in the configuration. | |
</action> | |
<action issue="LOG4J2-64" dev="rgoers" type="fix"> | |
Fix compilation problems in Java 7. | |
</action> | |
<action issue="LOG4J2-65" dev="rgoers" type="fix"> | |
Allow variable substitution on the configuration attributes and on the root log level. | |
</action> | |
</release> | |
<release version="2.0-alpha1" date="2012-07-29" description="Rewrite of Log4j"> | |
<action issue="LOG4J2-60" dev="rgoers" type="add" due-to="Shane Kelly"> | |
Added ability to filter on the AppenderRef by adding either a level or a filter. | |
</action> | |
<action issue="LOG4J2-56" dev="rgoers" type="fix" due-to="John Owen Atala"> | |
Level.toLevel would throw an IllegalArgumentException instead of returning the default value. | |
</action> | |
<action issue="LOG4J2-51" dev="rgoers" type="fix" due-to="John Vasileff"> | |
Remove LoggerContext support for custom logger factories. All Loggers returned | |
by LoggerContext should be compatible and of the same type. | |
</action> | |
<action issue="LOG4J2-50" dev="rgoers" type="fix" due-to="John Vasileff"> | |
Make sure all application facing log methods use their own FQCN. This patch | |
resolves a unit test failure for the %C pattern when using the Category logger. | |
</action> | |
</release> | |
</body> | |
</document> |