| <?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> |
| <properties> |
| <title>Changes</title> |
| </properties> |
| <body> |
| <release version="2.0-rc1" date="2014-02-08" description="Bug fixes and enhancements"> |
| <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-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 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 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-500" dev="rpopma" type="fix"> |
| (JMX) Unloading one webapp unloads JMX MBeans for all webapps. |
| </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-507" dev="ggregory" type="update"> |
| Space Level numbers by 100 instead of 1. |
| </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"> |
| 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"> |
| 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> |
| </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 intruction'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 compatibile 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> |