| |
| Apache Log4j 2.1 RELEASE NOTES |
| |
| The Apache Log4j 2 team is pleased to announce the Log4j 2.1 release! |
| |
| Apache log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to |
| Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides |
| many of the improvements available in Logback while fixing some inherent problems in Logback's |
| architecture. |
| |
| This is the fourth GA release which contains several bugfixes and new features. There are two |
| new Maven artifacts in this release: log4j-jul and log4j-iostreams. Both components are API-based |
| with optional Core features. |
| |
| GA Release 2.1 |
| |
| Changes in this version include: |
| |
| New features: |
| o LOG4J2-589: Supported filtering on custom log levels in configuration. |
| o LOG4J2-856: Documentation: add sections on the JUL Adapter, IO Streams and NoSQL Appenders to the Maven and Ivy page. |
| o LOG4J2-848: Add a Java lookup to provide nicely formatted runtime version information. |
| o LOG4J2-809: Move reflection utility class to API's private utility classes. |
| o LOG4J2-833: Documentation: added Runtime Dependencies link to left nav-bar on site. |
| o LOG4J2-816: Documentation: added section on XInclude to user manual Configuration page. |
| o LOG4J2-547: Add the Log4j IOStreams component. |
| o LOG4J2-431: Added Memory-Mapped File Appender. Thanks to Claude Mamo. |
| o LOG4J2-827: Support use of TypeConverter classes through the standard Plugin system. |
| o LOG4J2-825: Add simple validation constraint annotations for the Plugin system. |
| o LOG4J2-428: Implement a GELF layout. Thanks to Mark Paluch. |
| o LOG4J2-608: Add java.util.logging implementation based on log4j-api. See log4j-jul documentation for more details. |
| o LOG4J2-793: Add support for custom SLF4J Markers in log4j-slf4j-impl module. |
| o LOG4J2-771: Add lookup for application main arguments. |
| o LOG4J2-787: Add lookup for JVM arguments. |
| |
| Fixed Bugs: |
| o LOG4J2-866: Documentation: fixed missing closing parenthesis in code example. Thanks to Gerard Weatherby. |
| o LOG4J2-862: Fixed classloader issue that prevented Log4j from finding the implementation when used in a custom Ant task. Thanks to Michael Sutherland. |
| o LOG4J2-861: Documentation: fix broken links on left navigation Extending Log4j Configuration sub-menu. |
| o LOG4J2-797: Documentation: clarified why log4j-core is a compile time dependency in Maven and Ivy page. Thanks to Andreas Rytina. |
| o LOG4J2-855: Documentation: fix broken links on Appenders manual page. |
| o LOG4J2-807: Prevent NPE when configuration with AsyncLogger/AsyncRoot is reloaded. |
| o LOG4J2-678: Documentation: fixed minor issues with Log4j2 web site/documentation. Thanks to Matt Sicker. |
| o LOG4J2-843: Migrate JpaHyperSqlAppenderTest JUnit performance test to log4j-perf. |
| o LOG4J2-842: Migrate JpaH2AppenderTest JUnit performance test to log4j-perf. |
| o LOG4J2-841: Migrate JdbcHyperSqlAppenderTest JUnit performance test to log4j-perf. |
| o LOG4J2-840: Migrate JdbcH2AppenderTest JUnit performance test to log4j-perf. |
| o LOG4J2-830: Respect external interrupt signal to allow application shutdown after joining AsyncAppender thread. |
| o LOG4J2-813: MarkerManager Log4jMarker.hasParents() returns opposite of correct result. Thanks to David Erichsen, Brandon Barry. |
| o LOG4J2-785: Documentation: fixed capitalization inconsistency in user manual example config. |
| o LOG4J2-829: Fixed issue in RollingFile filePattern: backslashes are path separators, not escape characters. |
| o LOG4J2-832: ThrowableProxy fails if a class in logged stack trace throws java.lang.Error from initializer Thanks to Seth Leger. |
| o LOG4J2-745: 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. Thanks to Scott Harrington. |
| o LOG4J2-798: Fixed plugin scanning redundancy causing massive slowdowns in certain environments. Thanks to Scott Harrington. |
| o LOG4J2-753: Reduced CachedClock thread contention. |
| o LOG4J2-819: Fixed memory leak in Tomcat 6 caused by clock background threads unintentionally |
| started by Tomcat after web application stop. Thanks to Gary Gregory. |
| o LOG4J2-391: FlumePersistentManager now handles LockConflictExceptions in Berkeley Db when sending a batch. Thanks to Kamal Bahadur. |
| o LOG4J2-782: Remove invalid Oracle Maven repository. |
| o LOG4J2-796: Fixed issue where log4j-to-slf4j did not work correctly with SLF4J Simple Logger. |
| o LOG4J2-811: SimpleLogger throws ArrayIndexOutOfBoundsException for an empty array. Thanks to Yogesh Rao. |
| o LOG4J2-663: Fix OSGi Import-Package problem with the JMS API. Thanks to Florian Brunner. |
| o LOG4J2-783: PatternLayout should use platform character encoding by default, not UTF-8. Thanks to Minglei Lee. |
| |
| Changes: |
| o LOG4J2-845: 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. |
| o LOG4J2-844: Update JMH to 1.1 from 0.7.2. |
| o LOG4J2-831: Documentation: updated FAQ "which jars" diagrams for JUL bridge and 2.1 version. |
| o LOG4J2-780: Update Spring Framework to 3.2.11.RELEASE from 3.2.8.RELEASE. |
| o LOG4J2-815: Unify the two JMS appenders into a single appender. Configurations written for 2.0 will still work in 2.1+. |
| o LOG4J2-790: Update Jackson to 2.4.2 from 2.4.1 (for XML and JSON processing). |
| o LOG4J2-766: Incomplete documentation for JSONLayout. Thanks to Bruno P. Kinoshita. |
| o LOG4J2-800: All life cycle implementations should be serializable. |
| This is still work in progress. |
| o LOG4J2-801: org.apache.logging.log4j.core.Logger should be serializable. |
| This is still work in progress. |
| o LOG4J2-810: Update javax.mail to 1.5.2 from 1.5.0. |
| o LOG4J2-822: Update org.eclipse.persistence.jpa to 2.5.2 from 2.5.1. |
| o LOG4J2-867: 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. |
| |
| |
| Apache Log4j 2.1 requires a minimum of Java 6 to build and run. Basic compatibility with |
| Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the |
| very implementation specific classes and methods. The package names and Maven groupId have been changed to |
| org.apache.logging.log4j to avoid any conflicts with log4j 1.x. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: |
| |
| http://logging.apache.org/log4j/2.x/ |
| |
| ------------------------------------------------------------------------------- |
| |
| Apache Log4j 2.0.2 RELEASE NOTES |
| |
| The Apache Log4j 2 team is pleased to announce the Log4j 2.0.2 release! |
| |
| Apache log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to |
| Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides |
| many of the improvements available in Logback while fixing some inherent problems in Logback's |
| architecture. |
| |
| This is the third GA release which contains several bugfixes from the previous release. |
| |
| Bug fixes and enhancements |
| |
| Changes in this version include: |
| |
| |
| Fixed Bugs: |
| o LOG4J2-773: Site: log4j-core component pages were still using the old logo. |
| o LOG4J2-760: Documentation improvement: link to dependency tree from log4j-core component page, |
| link to log4j-core component page from FAQ page. |
| o LOG4J2-679: Resolved race condition that caused log file rotation to fail with error: "Unable to create directory ..." |
| o LOG4J2-726: Prevent application from hanging when PatternLayout configuration has opening '{' but no closing '}'. |
| o LOG4J2-769: Startup takes a long time if you have empty packages attribute. Thanks to Scott Harrington. |
| o LOG4J2-763: 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. Thanks to Stephen Connolly. |
| o LOG4J2-729: Emit warning message to console if no configuration file found. |
| o LOG4J2-765: Improve warning message when missing log4j-core in the classpath. |
| o LOG4J2-722: Clarified in documentation that Commons Logging jar is required when using log4j-jcl. |
| o LOG4J2-723: Clarified in documentation that SLF4J API jar is required when using log4j-slf4j-impl. |
| o LOG4J2-759: Fixed various minor site/documentation issues, mostly versioning related. |
| o LOG4J2-756: Prevent JUnit test from creating unnecessary Log4j2Plugins.dat during build. Thanks to Scott Harrington. |
| |
| Changes: |
| o LOG4J2-775: Update Apache Flume to 1.5.0.1 from 1.5.0. |
| o LOG4J2-730: Allow Log4jContextFactory subclasses to specify a custom ContextSelector. |
| |
| |
| Apache Log4j 2.0.2 requires a minimum of Java 6 to build and run. Basic compatibility with |
| Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the |
| very implementation specific classes and methods. The package names and Maven groupId have been changed to |
| org.apache.logging.log4j to avoid any conflicts with log4j 1.x. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: |
| |
| http://logging.apache.org/log4j/2.x/ |
| |
| ------------------------------------------------------------------------------- |
| |
| Apache Log4j 2.0.1 RELEASE NOTES |
| |
| The Apache Log4j 2 team is pleased to announce the Log4j 2.0.1 release! |
| |
| Apache log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to |
| Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides |
| many of the improvements available in Logback while fixing some inherent problems in Logback's |
| architecture. |
| |
| This is the first GA release, after thirteen prior releases over the last 4 years. |
| |
| ? |
| |
| Changes in this version include: |
| |
| New features: |
| o LOG4J2-725: Added WebLoggerContextUtils class to log4j-web for helper methods useful for asynchronous servlets. |
| o LOG4J2-710: Added documentation for Custom Levels and Custom Loggers. |
| |
| Fixed Bugs: |
| o LOG4J2-744: Avoid unnecessary Clock calls when TimestampMessage is logged. Thanks to Scott Harrington. |
| o LOG4J2-704: Improved error message if configuration file not found. |
| o LOG4J2-750: Webapp configuration page has incorrect class name. Thanks to Mike Calmus. |
| o LOG4J2-749: Retain the default date pattern after fixing the ISO8601 pattern. Thanks to Scott Harrington. |
| o LOG4J2-670: DatePatternConverter ISO8601_PATTERN now conforms to ISO8601. |
| o LOG4J2-741: Reinstate the package configuration attribute for discovering custom plugins. |
| o LOG4J2-742: XInclude not working with relative path. Thanks to Pascal Chollet. |
| o LOG4J2-740: Fixed typo in webapp manual regarding sample web.xml file. Thanks to Kosta Krauth. |
| o LOG4J2-738: RollingFileManager deadlock if async action thread fails to start. Thanks to Timothy Stack. |
| o LOG4J2-736: Fixed log4j-bom so that it won't specify a default scope on any third party dependencies. |
| o LOG4J2-735: Fixed log4j-bom so that it won't interfere with spring-bom and others. |
| o LOG4J2-731: Updated documentation regarding extensions to LoggerContextFactory and Log4j 2 providers. |
| o LOG4J2-373: Fixed ClassLoader issues in loading Log4j providers in an OSGi environment. |
| o LOG4J2-719: Correctly handle NetworkOnMainThreadException thrown on Android during Log4j2 initialization. |
| o LOG4J2-716: Automatically disable log4j JMX when detecting we are running on Android. |
| o LOG4J2-657: Fixed AbstractDatabaseManager to close connection on writeInternal error. Thanks to Stefan Wehner. |
| o LOG4J2-713: Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer Thanks to Nelson Melina. |
| o LOG4J2-703: Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup. Thanks to Nelson Melina. |
| |
| |
| |
| Apache Log4j 2.0.1 requires a minimum of Java 6 to build and run. Basic compatibility with |
| Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the |
| very implementation specific classes and methods. The package names and Maven groupId have been changed to |
| org.apache.logging.log4j to avoid any conflicts with log4j 1.x. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: |
| |
| http://logging.apache.org/log4j/2.x/ |
| |
| ------------------------------------------------------------------------------- |
| |
| Apache Log4j 2.0 RELEASE NOTES |
| |
| The Apache Log4j 2 team is pleased to announce the Log4j 2.0 release! |
| |
| Apache log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to |
| Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides |
| many of the improvements available in Logback while fixing some inherent problems in Logback's |
| architecture. |
| |
| This is the first GA release, after thirteen prior releases over the last 4 years. |
| |
| GA Release |
| |
| Changes in this version include: |
| |
| New features: |
| o LOG4J2-519: 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. |
| o LOG4J2-696: RegexFilter does not match multiline log messages. |
| |
| Fixed Bugs: |
| o LOG4J2-705: Fixed issue where Async Logger does not log thread context stack data. |
| API change: added method getImmutableStackOrNull() to ThreadContext.ContextStack interface. |
| o LOG4J2-631: Update docs to clarify how to use formatter logger and standard logger together. |
| o LOG4J2-441: LoggerConfigs with no Level now inherit the Level from their parent. |
| o LOG4J2-703: Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup. Thanks to Nelson Melina. |
| o LOG4J2-699: PatternLayout manual page missing documentation on header/footer. |
| o LOG4J2-625: Fixed Serialization error with SocketAppender and Async Loggers. |
| (Fixed in RC2, but wasn't included in release notes.) |
| o LOG4J2-538: JMX GUI: fixed occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below". |
| (Fixed in RC2, but wasn't included in release notes.) |
| o LOG4J2-666: AsyncLoggerContextSelector should ensure that different AsyncLoggerContext objects created by web app classloaders have unique names. |
| o LOG4J2-683: Fix annotation processor warnings on JDK 1.7+. Thanks to Jurriaan Mous. |
| o LOG4J2-694: Fix strange compilation error that popped up in a test class. |
| o LOG4J2-692: Update documentation to specify only Maven 3 is supported. |
| o LOG4J2-690: Log4j Web test dependencies should be in scope "test" in the pom. Thanks to Philip Helger. |
| o LOG4J2-682: Special characters (tab and so on) in PatternLayout do not work. Thanks to Scott Harrington. |
| o LOG4J2-686: Core's OptionConverter support for \b is broken (affects PatternLayout). |
| o LOG4J2-687: Rename org.apache.logging.log4j.core.util.Closer.closeSilent() to closeSilently(). |
| o LOG4J2-688: Make org.apache.logging.log4j.core.layout.PatternLayout immutable. |
| o LOG4J2-707: Some exceptions are not logged when configuration problems are detected. |
| |
| Changes: |
| o LOG4J2-685: Make org.apache.logging.log4j.core.layout.AbstractLayout immutable. |
| o LOG4J2-689: Update Jackson to 2.4.1. |
| o LOG4J2-709: Update Apache Commons Logging to 1.2 from 1.1.3. |
| |
| |
| Apache Log4j 2.0 requires a minimum of Java 6 to build and run. Basic compatibility with |
| Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the |
| very implementation specific classes and methods. The package names and Maven groupId have been changed to |
| org.apache.logging.log4j to avoid any conflicts with log4j 1.x. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: |
| |
| http://logging.apache.org/log4j/2.x/ |
| |
| |
| |
| |
| |
| |