Repository: logging-log4j2 Updated Branches: refs/heads/master 97f038bf3 -> c3cd18e91
prepare for release Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/87ac9c53 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/87ac9c53 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/87ac9c53 Branch: refs/heads/master Commit: 87ac9c53cf497b0d3fdc6c15721189be151bfbf2 Parents: 97f038b Author: Ralph Goers <[email protected]> Authored: Sun Dec 6 16:33:32 2015 -0700 Committer: Ralph Goers <[email protected]> Committed: Sun Dec 6 16:33:32 2015 -0700 ---------------------------------------------------------------------- RELEASE-NOTES.txt | 90 +++++++++++++++++++++++++--------------- pom.xml | 2 +- src/changes/announcement.vm | 14 ++++--- 3 files changed, 67 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87ac9c53/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 2a993f2..eda5b2f 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,52 +1,76 @@ - Apache Log4j 2.4.1 RELEASE NOTES + Apache Log4j 2.5 RELEASE NOTES -The Apache Log4j 2 team is pleased to announce the Log4j 2.4.1 release! +The Apache Log4j 2 team is pleased to announce the Log4j 2.5 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 other modern features such as support for Markers, property substitution using Lookups, and asynchronous -Loggers. In addition, Log4j 2 will not lose events while reconfiguring. +many other modern features such as support for Markers, property substitution using Lookups, multiple patterns on +a PatternLayout and asynchronous Loggers. In addition, Log4j 2 will not lose events while reconfiguring. + +This is the ninth GA release. It contains several bugfixes and new features. The new features include +the ability to specify delete actions during file rollover, a CRON-based triggering policy for file rollover, +Support for JSR 223 scripts in filters, pattern selectors and delete actions, and a policy for removing +idle appenders from the RoutingAppender. More details on the features and bugfixes are itemized below. -This is the ninth GA release. It contains several bugfixes and new features. Log4j 2 requires a minimum of Java 7. -GA Release 2.4.1 +GA Release 2.5 Changes in this version include: New features: -o LOG4J2-1129: Allow PatternLayout to select a pattern to use based on some selection criteria. -o LOG4J2-1145: Add %equals to PatternLayout to test and replace patterns with strings. -o LOG4J2-1147: Add %equalsIgnoreCase to PatternLayout to test and replace patterns with strings. -o LOG4J2-1146: Add %notEmpty to PatternLayout to avoid output of patterns where all variables are empty. -o LOG4J2-1020: Add possibility to set shutdown timeout on AsyncAppender. +o LOG4J2-435: Added support for custom delete actions triggered by a rollover. Thanks to Robert Schaft. +o LOG4J2-89: Allow rollover to occur at any time. Add CronTriggeringPolicy. +o LOG4J2-1136: Add support for JSR 223 scripts in filters and the PatternSelector. +o LOG4J2-1168: Add getters for source and destination file in file rename action. Thanks to Steven Swor. +o LOG4J2-1175: Add getters for classes in org.apache.logging.log4j.core.appender.rolling.action. +o LOG4J2-898: Added system property to allow users to control whether messages should be formatted in the background. +o LOG4J2-1178: Support use-case for JDBC's CommonDataSource.setLogWriter(PrintWriter) and java.sql.DriverManager.setLogWriter(PrintWriter). +o LOG4J2-1187: Support use case for java.sql.DriverManager.setLogStream(PrintStream). Fixed Bugs: -o LOG4J2-1153: Fixed NullPointerException when only root logger is defined (and no named loggers) in configuration properties file. -o LOG4J2-1140: Fixed bug where headers were not being written to first file with RollingFileAppender. -o LOG4J2-1149: Fixed bug where PatternLayout predefined date pattern with time zone always renders default date format. -o LOG4J2-1050: Fixed Log4jLookup. -o LOG4J2-1142: Fix potential memory leak in web applications by using a straight ThreadLocal field instead of subclassing ThreadLocal. -o LOG4J2-1135: Compression on rollover was broken: log file was renamed to .zip but not compressed. -o LOG4J2-1127: log4j2.xml cannot be parsed on Oracle Weblogic 12c. -o LOG4J2-1132: Do not use MongoDB driver 2.13.3 deprecated methods. -o LOG4J2-1144: Add %markerSimpleName in pattern layout should evaluate to marker name (not toString()). -o LOG4J2-1126: Web site corrections and updates. +o LOG4J2-324: Reduced memory usage of status messages in bounded queue; support zero-length queue that stores no messages. +o LOG4J2-1173: Fixed rollover error when copying to a directory mapped to a remote Linux host. +o LOG4J2-1195: Make KafkaAppender support SerializedLayout. Thanks to Melvin Du. +o LOG4J2-381: Allow triggering policy and rollover strategy to be modified during reconfiguration. Thanks to Anthony Baldocchi. +o LOG4J2-1029: Performance improvement when gathering location information. Thanks to Stefan Leonhartsberger. +o LOG4J2-1172: Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using AsyncLoggerContextSelector. +o LOG4J2-1176: Fixed memory leak when log4j jars are in Tomcat's lib folder. +o LOG4J2-1180: Logger cache does not account for message factory. Thanks to Mikael Ståldal. +o LOG4J2-879: Documentation: fixed minor issues with the site and manual pages. +o LOG4J2-999: RollingFileAppender should also roll over when log event time is equal to rollover time, not only when later. Thanks to Joan Balagueró. +o LOG4J2-873: 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. Thanks to Martin Dickins, LC, Luke Woodward. +o LOG4J2-323: 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. +o LOG4J2-493: 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. +o LOG4J2-1171: Use servlet context name for logger context name when available. +o LOG4J2-1159: Fixed a ThreadLocal memory leak in Tomcat8 that mentions AsyncLoggers when Async Loggers are not used. +o LOG4J2-1166: AbstractConfiguration executor should use a DaemonThreadFactory. +o LOG4J2-1165: Improve Log4j initialization status messages. +o LOG4J2-1156: Web site corrections and updates. +o LOG4J2-1158: Log4J JUL adapter is using MessageFormat on String passed by java.util.function.Supplier<String>. Thanks to Michael Fortin, Gary Gregory. +o LOG4J2-801: org.apache.logging.log4j.core.Logger should be serializable. +o LOG4J2-1157: Fix compilation error for classes annotated with @Plugin. Thanks to Norbert Bartels. +o LOG4J2-948: Fix plugin documentation error about Converters. Thanks to Andrew Flower. +o LOG4J2-1193: Prefix all thread names Log4j creates with "Log4j2-". +o LOG4J2-1194: Documentation does not match parameters for LoggerNameLevelRewritePolicy. Thanks to Adam Brin. +o LOG4J2-1196: MongoDbConnection does not close MongoClient. Thanks to René Zanner. Changes: -o LOG4J2-1151: Performance improvement: backport Java 8 fast ISO-8859-1 String to byte[] encoder to AbstractStringLayout. -o LOG4J2-935: Performance improvement when converting Strings to byte[] arrays. -o LOG4J2-1040: Update MongoDB driver from 2.13.3 to 3.0.4. -o LOG4J2-1128: Reuse StringBuilder to improve performance for String-based layouts: CSV, GELF, HTML, RFC524, Syslog. -o LOG4J2-1131: Update mongo-java-driver from 2.13.2 to 2.13.3. -o LOG4J2-1138: Do not use Jackson deprecated methods. -o LOG4J2-1139: Update Jackson from 2.6.1 to 2.6.2. -o LOG4J2-1150: Update kafka-clients from 0.8.2.1 to 0.8.2.2. - - -Apache Log4j 2.4.1 requires a minimum of Java 7 to build and run. Log4j 2.4 and greater requires Java 7, -version 2.3 required Java 6. +o LOG4J2-649: Add PurgePolicy and IdlePurgePolicy to RoutingAppender. Thanks to Aleksey Zvolinsky. +o LOG4J2-1202: Remove ConfigurationMonitor. The WatchManager is now used to check for configuration changes. +o LOG4J2-1174: Update Jackson from 2.6.2 to 2.6.3. +o LOG4J2-1207: Update kafka-clients from 0.8.2.2 to 0.9.0.0. + + +Apache Log4j 2.5 requires a minimum of Java 7 to build and run. Log4j 2.3 was the last release that +supported Java 6. 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 http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87ac9c53/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 01d526e..ac1dc02 100644 --- a/pom.xml +++ b/pom.xml @@ -180,7 +180,7 @@ <properties> <!-- make sure to update these for each release! --> <log4jParentDir>${basedir}</log4jParentDir> - <Log4jReleaseVersion>2.4.1</Log4jReleaseVersion> + <Log4jReleaseVersion>2.5</Log4jReleaseVersion> <Log4jReleaseCount>ninth</Log4jReleaseCount> <Log4jReleaseManager>Ralph Goers</Log4jReleaseManager> <Log4jReleaseKey>B3D8E1BA</Log4jReleaseKey> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87ac9c53/src/changes/announcement.vm ---------------------------------------------------------------------- diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm index fa38eba..4b5b726 100644 --- a/src/changes/announcement.vm +++ b/src/changes/announcement.vm @@ -23,10 +23,14 @@ The ${developmentTeam} is pleased to announce the Log4j ${relVersion} 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 other modern features such as support for Markers, property substitution using Lookups, and asynchronous -Loggers. In addition, Log4j 2 will not lose events while reconfiguring. +many other modern features such as support for Markers, property substitution using Lookups, multiple patterns on +a PatternLayout and asynchronous Loggers. In addition, Log4j 2 will not lose events while reconfiguring. + +This is the ${relCount} GA release. It contains several bugfixes and new features. The new features include +the ability to specify delete actions during file rollover, a CRON-based triggering policy for file rollover, +Support for JSR 223 scripts in filters, pattern selectors and delete actions, and a policy for removing +idle appenders from the RoutingAppender. More details on the features and bugfixes are itemized below. -This is the ${relCount} GA release. It contains several bugfixes and new features. Log4j 2 requires a minimum of Java 7. ## Hack to improve layout: replace all pairs of spaces with a single new-line @@ -132,8 +136,8 @@ o#if($!issue != "") $issue. #end ${action} #if($!dueto != "")Thanks to $dueto. # ## End of main loop #end -Apache Log4j ${relVersion} requires a minimum of Java 7 to build and run. Log4j 2.4 and greater requires Java 7, -version 2.3 required Java 6. +Apache Log4j ${relVersion} requires a minimum of Java 7 to build and run. Log4j 2.3 was the last release that +supported Java 6. 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
