+1 My projects all pass tests, and product-specific benchmarks haven't regressed.
I can't thank you enough for taking the time to put this release together, thanks Ralph! On Wed, Feb 6, 2019 at 10:29 AM Gary Gregory <[email protected]> wrote: > > +1 > > From ' git checkout tags/log4j-2.11.2-rc3' > > Apache RAT check OK 'mvn apache-rat:check' > Apache CLIRR does not do anything since there is no comparison artifact set. > > Running 'mvn clean install' OK using: > > Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; > 2018-10-24T14:41:47-04:00) > Maven home: C:\Java\apache-maven-3.6.0\bin\.. > Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: C:\Program > Files\Java\jdk1.8.0_202\jre > Default locale: en_US, platform encoding: Cp1252 > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" > > Then running 'mvn site -DkskipTests' is OK but some of the plugins need > updating I would guess based on: > > [java] Error scanning META-INF/versions/9/module-info for referenced > classes > > and: > > [WARNING] Unable to process class META-INF/versions/9/module-info.class in > JarAnalyzer File > C:\Users\ggregory\.m2\repository\org\apache\logging\log4j\log4j-api\2.11.2\log4j-api-2.11.2.jar > org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in > constant pool: 19 > > This one can be fixed by updating Apache Commons BCEL to the latest for > whatever plugin is using it. > > Then 'mvn site:stage' is OK. > > Then I switched to Java 11 to just run the tests (no re-build): > > Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; > 2018-10-24T14:41:47-04:00) > Maven home: C:\Java\apache-maven-3.6.0\bin\.. > Java version: 11.0.2, vendor: Oracle Corporation, runtime: C:\Program > Files\Java\jdk-11.0.2 > Default locale: en_US, platform encoding: Cp1252 > OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" > > That fails: > > [INFO] Running org.apache.logging.log4j.LoggerTest > Log line 1: DEBUG Debug message {TestYear=2010} > log line 2: DEBUG Debug message > WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will > impact performance. > [ERROR] Tests run: 53, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: > 0.483 s <<< FAILURE! - in org.apache.logging.log4j.LoggerTest > [ERROR] getLoggerByNullClass(org.apache.logging.log4j.LoggerTest) Time > elapsed: 0.007 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LoggerTest.getLoggerByNullClass(LoggerTest.java:413) > > [ERROR] getLoggerByNullObject(org.apache.logging.log4j.LoggerTest) Time > elapsed: 0.001 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LoggerTest.getLoggerByNullObject(LoggerTest.java:419) > > [ERROR] getFormatterLogger(org.apache.logging.log4j.LoggerTest) Time > elapsed: 0.001 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LoggerTest.getFormatterLogger(LoggerTest.java:231) > > [ERROR] getLoggerByNullString(org.apache.logging.log4j.LoggerTest) Time > elapsed: 0 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LoggerTest.getLoggerByNullString(LoggerTest.java:425) > > [INFO] Running org.apache.logging.log4j.LogManagerTest > WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will > impact performance. > [ERROR] Tests run: 8, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: > 0.153 s <<< FAILURE! - in org.apache.logging.log4j.LogManagerTest > [ERROR] testGetLoggerForInner(org.apache.logging.log4j.LogManagerTest) > Time elapsed: 0.07 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LogManagerTest.testGetLoggerForInner(LogManagerTest.java:109) > > [ERROR] > testGetLoggerForAnonymousInnerClass1(org.apache.logging.log4j.LogManagerTest) > Time elapsed: 0.002 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LogManagerTest.testGetLoggerForAnonymousInnerClass1(LogManagerTest.java:81) > > [ERROR] testGetLogger(org.apache.logging.log4j.LogManagerTest) Time > elapsed: 0.001 s <<< ERROR! > java.lang.UnsupportedOperationException: No class provided, and an > appropriate one cannot be found. > at > org.apache.logging.log4j.LogManagerTest.testGetLogger(LogManagerTest.java:53) > > [ERROR] > testGetLoggerForStaticInner(org.apache.logging.log4j.LogManagerTest) Time > elapsed: 0.001 s <<< ERROR! > java.lang.ExceptionInInitializerError > at > org.apache.logging.log4j.LogManagerTest.testGetLoggerForStaticInner(LogManagerTest.java:119) > Caused by: java.lang.UnsupportedOperationException: No class provided, and > an appropriate one cannot be found. > at > org.apache.logging.log4j.LogManagerTest.testGetLoggerForStaticInner(LogManagerTest.java:119) > > ... > > [ERROR] Failures: > [ERROR] StackLocatorUtilTest.testGetCallerClass:49 expected same:<class > org.apache.logging.log4j.util.StackLocatorUtilTest> was not:<null> > [ERROR] StackLocatorUtilTest.testGetCallerClassViaAnchorClass:89 expected > same:<class org.junit.runners.BlockJUnit4ClassRunner> was not:<class > java.lang.Object> > [ERROR] StackLocatorUtilTest.testGetCallerClassViaName:80 expected > same:<class org.junit.runners.BlockJUnit4ClassRunner> was not:<null> > [ERROR] StackLocatorUtilTest.testLocateClass:97 Incorrect class > expected:<class org.apache.logging.log4j.util.StackLocatorUtilTest> but > was:<class java.lang.Object> > [ERROR] Errors: > [ERROR] LogManagerTest.testGetLogger:53 » UnsupportedOperation No class > provided, and ... > [ERROR] LogManagerTest.testGetLoggerForAnonymousInnerClass1:81 » > UnsupportedOperation ... > [ERROR] LogManagerTest.testGetLoggerForInner:109 » UnsupportedOperation > No class provi... > [ERROR] LogManagerTest.testGetLoggerForStaticInner:119 > ExceptionInInitializer > [ERROR] LoggerTest.getFormatterLogger:231 » UnsupportedOperation No class > provided, an... > [ERROR] LoggerTest.getLoggerByNullClass:413 » UnsupportedOperation No > class provided, ... > [ERROR] LoggerTest.getLoggerByNullObject:419 » UnsupportedOperation No > class provided,... > [ERROR] LoggerTest.getLoggerByNullString:425 » UnsupportedOperation No > class provided,... > [ERROR] StackLocatorUtilTest.testStackTraceEquivalence:36 NoClassDefFound > sun/reflect/... > [INFO] > [ERROR] Tests run: 638, Failures: 4, Errors: 9, Skipped: 3 > > I think we should leave Java 11 support for 2.12.0. > > Gary > > On Tue, Feb 5, 2019 at 9:30 PM Ralph Goers <[email protected]> > wrote: > > > This is a vote to release Log4j 2.11.2, the next version of the Log4j 2 > > project. > > > > Please download, test, and cast your votes on the log4j developers list. > > [] +1, release the artifacts > > [] -1, don't release because... > > > > The vote will remain open for 72 hours (or more if required). All votes > > are welcome and we encourage everyone to test the release, but only Logging > > PMC votes are “officially” counted. As always, at least 3 +1 votes and more > > positive than negative votes are required. > > > > Changes in this release include: > > > > > > New Features > > > > • LOG4J2-2496: JDBC Appender should reconnect to the database when > > a connection goes stale. > > • LOG4J2-2505: Let JDBC PoolingDriverConnectionSource with Apache > > Commons DBCP configure a PoolableConnectionFactory. > > • LOG4J2-2509: Allow a JDBC Appender to truncate strings to match > > a table's metadata column length limit. > > • LOG4J2-1246: PatternLayout %date conversion pattern should > > render time zone designator for ISO-ISO8601. > > Fixed Bugs > > > > • LOG4J2-2500: Document that Properties element must be the first > > configuration element. > > • LOG4J2-2543: Add Log4j-to-SLF4J to BOM pom.xml. Thanks to Dermot > > Hardy. > > • LOG4J2-2061: Use the file pattern as the FileManager "name" when > > no filename is present. > > • LOG4J2-2009: Expose LoggerContext.setConfiguration as a public > > method. > > • LOG4J2-2542: CronTriggeringPolicy was not rolling properly, > > especially when used with the SizeBasedTriggeringPolicy. > > • LOG4J2-2266: Load PropertySources from any accessible > > ClassLoader. Hide any exceptions that may occur accessing a PropertySource. > > • LOG4J2-1570: 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. > > • LOG4J2-2485: SizeBasedTriggeringPolicy was not honored when > > using the DirectWriteRolloverStrategy if the machine restarts. Thanks to > > Giovanni Matteo Fumarola. > > • LOG4J2-1906: Direct write was creating files with the wrong > > date/time. > > • LOG4J2-2453: Add Log4j-slf4j18-impl dependency to bom pom. > > Thanks to theit. > > • LOG4J2-2515: Configuration documentation referenced incorrect > > method name. Thanks to MakarovS. > > • LOG4J2-2514: Make Strings.toRootUpperCase a static method so it > > can be accessed. Thanks to smilebrian0515. > > • LOG4J2-1571: Fixed Appenders section in Extending Log4j. Thanks > > to torbenmoeller. > > • LOG4J2-2397: Predeployment of PersistenceUnit that using Log4j > > as session logger failed (#198). Thanks to EckelDong. > > • LOG4J2-2365: NameAbbreviator correctly abbreviates first > > fragments (#188). Thanks to Eugene Zimichev. > > • LOG4J2-2201: Fix memory leak in ReusableParameterizedMessage. > > • LOG4J2-2363: ReusableObjectMessage parameter is properly passed > > to appenders (#203). Thanks to Brian Laub. > > • LOG4J2-2418: NullPointerException when closing never used > > RollingRandomAccessFileAppender. Thanks to Jonas Rutishauser. > > • LOG4J2-2422: Handle some unchecked exceptions while loading > > plugins. Thanks to rswart, Gary Gregory. > > • LOG4J2-2441: Setting a null ErrorHandler on AbstractAppender is > > not allowed and will no-op as expected. > > • LOG4J2-2444: ErrorHandler is invoked with a LogEvent and > > Throwable when possible, where previously only a string was used. > > • LOG4J2-2413: Exceptions are added to all columns when a JDBC > > Appender's ColumnMapping uses a Pattern. Thanks to Andres Luuk, Gary > > Gregory. > > • LOG4J2-2466: ColumnMapping literal not working. Thanks to Paolo > > Bonanomi, Gary Gregory. > > • LOG4J2-2478: AbstractStringLayoutStringEncodingBenchmark returns > > the computed variables on each benchmark to avoid DCE. Thanks to Diego > > Elias Costa. > > • LOG4J2-2134: StackOverflowError at > > AwaitCompletionReliabilityStrategy. Thanks to David del Amo Mateos, Gary > > Gregory. > > • LOG4J2-2481: Avoid NullPointerExceptions in > > org.apache.logging.log4j.core.config.AbstractConfiguration for null > > arguments. > > • LOG4J2-2457: RollingRandomAccessFileManager ignores new file > > patterns from programmatic reconfiguration. Thanks to Heiko Schwanke, Gary > > Gregory. > > • LOG4J2-2482: BasicContextSelector cannot be used in a OSGI > > application. Thanks to Rob Gansevles. > > • LOG4J2-2476: org.apache.log4j.SimpleLayout and ConsoleAppender > > missing in log4j-1.2-api. Thanks to Al Bundy. > > • LOG4J2-2497: JmsAppender reconnectIntervalMillis cannot be set > > from a configuration file. > > • LOG4J2-2499: JMS Appender may throw a NullPointerException when > > JMS is not up while the Appender is starting. > > • LOG4J2-2508: JDBC Appender fails when using both parameter, > > source, and literal ColumnMapping elements. > > • LOG4J2-2527: Prevent ConcurrentModificationException while > > iterating over ListAppender events. > > • LOG4J2-2522: Fix regression using MapMessageLookup.lookup with > > MapMessages that do not implement StringMapMessage. Thanks to Adam Lesiak. > > • LOG4J2-2530: 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. Thanks > > to Travis Spencer. > > • LOG4J2-2533: Fix a regression introduced by LOG4J2-2301 in > > 2.11.1 allowing allocation to occur in AsyncLoggerConfig. Thanks to Michail > > Prusakov. > > Changes > > > > • LOG4J2-1576: Switch from CLIRR to RevAPI for detecting API > > changes. > > • LOG4J2-2391: 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. > > • LOG4J2-2447: Let the NullAppender default its name to "null". > > • LOG4J2-2468: Update Jackson from 2.9.6 to 2.9.7. > > • LOG4J2-2469: Update Apache Commons Compress from 1.17 to 1.18. > > • LOG4J2-2470: Update Apache Commons CSV from 1.5 to 1.6. > > • LOG4J2-2471: Update javax.mail from 1.6.1 to 1.6.2. > > • LOG4J2-2472: Update mongo-java-driver 3 from 3.8.0 to 3.8.2. > > • LOG4J2-2489: JDBC Appender should release parameter resources > > ASAP. > > • LOG4J2-2491: Allow all Appenders to optionally carry a Property > > array. > > • LOG4J2-2405: Better handling of %highlight pattern when using > > jul-bridge. Thanks to Marco Herrn. > > • LOG4J2-2503: Update MongoDB driver from 3.8.2 to 3.9.0 for > > log4j-mongodb3 module. > > > > Tag: > > a) for a new copy do "git clone > > https://github.com/apache/logging-log4j2.git" and then "git checkout > > tags/log4j-2.11.2-rc3” > > b) for an existing working copy to “git pull” and then “git checkout > > tags/log4j-2.11.2-rc3” > > > > Web Site: http://rgoers.github.io/log4j2-site/index.html. > > > > Maven Artifacts: > > https://repository.apache.org/content/repositories/orgapachelogging-1044/ > > > > Distribution archives: > > https://dist.apache.org/repos/dist/dev/logging/log4j/ > > > > You may download all the Maven artifacts by executing: > > wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate > > https://repository.apache.org/content/repositories/orgapachelogging-1044/org/apache/logging/log4j/ > > > > Ralph > >
