Here is my +1 Ralph
> On Jun 30, 2022, at 4:30 AM, Remko Popma <[email protected]> wrote: > > +1 sigs good > > On Thu, Jun 30, 2022 at 8:23 PM Gary Gregory <[email protected]> wrote: > >> I just ran it again and I get the same error, so I can't validate the >> build for now. >> >> Gary >> >> On Wed, Jun 29, 2022 at 9:25 PM Matt Sicker <[email protected]> wrote: >>> >>> If that test isn’t using the listener mechanism in LoggerContext, then >> it’ll sporadically fail to detect reconfigurations. >>> >>> — >>> Matt Sicker >>> >>>> On Jun 29, 2022, at 12:13, Ralph Goers <[email protected]> >> wrote: >>>> >>>> I believe I have seen this or a similar error in the past but I >> haven’t seen it myself in quite a while. >>>> >>>> I’d bet it is a problem with the test. >>>> >>>> Ralph >>>> >>>>> On Jun 29, 2022, at 6:50 AM, Gary Gregory <[email protected]> >> wrote: >>>>> >>>>> I get a test failure: >>>>> >>>>> ERROR] Tests run: 21, Failures: 1, Errors: 0, Skipped: 0, Time >>>>> elapsed: 121.852 s <<< FAILURE! - in >>>>> org.apache.logging.log4j.core.config.TestConfigurator >>>>> [ERROR] >> org.apache.logging.log4j.core.config.TestConfigurator.testReconfiguration >>>>> Time elapsed: 15.035 s <<< FAILURE! >>>>> java.lang.AssertionError: >>>>> Configuration not reset >>>>> Expected: is not >>>>> >> sameInstance(<XmlConfiguration[location=/Users/garydgregory/Downloads/apache-log4j-2.18.0-src/log4j-core/target/test-classes/log4j2-config.xml]>) >>>>> but: was >> <XmlConfiguration[location=/Users/garydgregory/Downloads/apache-log4j-2.18.0-src/log4j-core/target/test-classes/log4j2-config.xml]> >>>>> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) >>>>> at >> org.apache.logging.log4j.core.config.TestConfigurator.testReconfiguration(TestConfigurator.java:305) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>> at >> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) >>>>> at >> org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) >>>>> at >> org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) >>>>> at >> org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) >>>>> at >> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) >>>>> at >> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) >>>>> at >> org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) >>>>> at >> org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) >>>>> at >> org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) >>>>> at >> org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) >>>>> at >> org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) >>>>> at >> org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) >>>>> at >> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) >>>>> at >> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) >>>>> at >> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) >>>>> at >> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) >>>>> at >> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >>>>> at >> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >>>>> at java.util.ArrayList.forEach(ArrayList.java:1259) >>>>> at >> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >>>>> at >> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >>>>> at java.util.ArrayList.forEach(ArrayList.java:1259) >>>>> at >> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >>>>> at >> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >>>>> at >> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >>>>> at >> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >>>>> at >> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) >>>>> at >> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) >>>>> at >> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) >>>>> at >> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) >>>>> at >> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) >>>>> at >> org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) >>>>> at >> org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) >>>>> at >> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) >>>>> at >> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) >>>>> at >> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) >>>>> at >> org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:55) >>>>> at >> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:223) >>>>> at >> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:175) >>>>> at >> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:135) >>>>> at >> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:456) >>>>> at >> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:169) >>>>> at >> org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:595) >>>>> at >> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:581) >>>>> >>>>> Running >>>>> >>>>> mvn clean verify >>>>> >>>>> on >>>>> >>>>> Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63) >>>>> Maven home: /usr/local/Cellar/maven/3.8.6/libexec >>>>> Java version: 1.8.0_322, vendor: Homebrew, runtime: >>>>> /usr/local/Cellar/openjdk@8 >> /1.8.0+322/libexec/openjdk.jdk/Contents/Home/jre >>>>> Default locale: en_US, platform encoding: UTF-8 >>>>> OS name: "mac os x", version: "12.4", arch: "x86_64", family: "mac" >>>>> >>>>> Anyone else? >>>>> >>>>> Gary >>>>> >>>>>> On Tue, Jun 28, 2022 at 8:00 PM Ralph Goers < >> [email protected]> wrote: >>>>>> >>>>>> This is a vote to release Log4j 2.18.0, 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. 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 version include: >>>>>> >>>>>> >>>>>> New Features >>>>>> >>>>>> • LOG4J2-3495: Add MutableThreadContextMapFilter. >>>>>> • LOG4J2-3472: Add support for custom LMAX disruptor >> WaitStrategy configuration. >>>>>> • LOG4J2-3419: Add support for custom Log4j 1.x levels. >>>>>> • LOG4J2-3440: Add support for adding and retrieving appenders >> in Log4j 1.x bridge. >>>>>> • LOG4J2-3362: Add support for Jakarta Mail API in the SMTP >> appender. >>>>>> • LOG4J2-3483: Add support for Apache Extras' >> RollingFileAppender in Log4j 1.x bridge. >>>>>> • LOG4J2-3538: Add support for 24 colors in highlighting >> Thanks to Pavel_K. >>>>>> >>>>>> Fixed Bugs >>>>>> >>>>>> • LOG4J2-3339: DirectWriteRolloverStrategy should use the >> current time when creating files. >>>>>> • LOG4J2-3534: Fix LevelRangeFilterBuilder to align with >> log4j1's behavior. >>>>>> • LOG4J2-3527: Don't use Paths.get() to avoid circular file >> systems. >>>>>> • LOG4J2-3490: The DirectWriteRolloverStrategy was not >> detecting the correct index to use during startup. >>>>>> • LOG4J2-3432: SizeBasedTriggeringPolicy would fail to rename >> files properly when integer pattern contained a leading zero. >>>>>> • LOG4J2-3491: Async Loggers were including the location >> information by default. Thanks to Avihai Marchiano. >>>>>> • LOG4J2-1376: Allow enterprise id to be an OID fragment. >>>>>> • LOG4J2-3493: ClassArbiter's newBuilder method referenced the >> wrong class. Thanks to Dmytro Voloshyn. >>>>>> • LOG4J2-3481: HttpWatcher did not pass credentials when >> polling. >>>>>> • LOG4J2-3482: UrlConnectionFactory.createConnection now >> accepts an AuthorizationProvider as a parameter. >>>>>> • LOG4J2-3477: Add the missing context stack to JsonLayout >> template. Thanks to filipc. >>>>>> • LOG4J2-3393: Improve JsonTemplateLayout performance. >>>>>> • LOG4J2-3424: Properties defined in configuration using a >> value attribute (as opposed to element) are read correctly. >>>>>> • LOG4J2-3413: Fix resolution of non-Log4j properties. >>>>>> • LOG4J2-3423: JAR file containing Log4j configuration isn't >> closed. Thanks to Radim Tlusty. >>>>>> • LOG4J2-3425: Syslog appender lacks the SocketOptions >> setting. Thanks to Jiří Smolík. >>>>>> • : Improve validation and reporting of configuration errors. >>>>>> • : Log4j 1.2 bridge should generate Log4j 2.x messages based >> on the parameter runtime type. >>>>>> • LOG4J2-3426: Log4j 1.2 bridge should not wrap components >> unnecessarily. Thanks to Pooja Pandey. >>>>>> • LOG4J2-3418: Fixes Spring Boot logging system registration >> in a multi-application environment. >>>>>> • LOG4J2-3040: Avoid ClassCastException in JeroMqManager with >> custom LoggerContextFactory #791. Thanks to LF-Lin. >>>>>> • : Fix minor typo #792. Thanks to LF-Lin. >>>>>> • LOG4J2-3439: Fixes default SslConfiguration, when a custom >> keystore is used. Thanks to Jayesh Netravali. >>>>>> • LOG4J2-3447: Fixes appender concurrency problems in Log4j >> 1.x bridge. Thanks to Pooja Pandey. >>>>>> • LOG4J2-3452: Fix and test for race condition in >> FileUtils.mkdir(). Thanks to Stefan Vodita. >>>>>> • LOG4J2-3458: LocalizedMessage logs misleading errors on the >> console. >>>>>> • LOG4J2-3359: Fixes the syslog appender in Log4j 1.x bridge, >> when used with a custom layout. Thanks to Tukesh. >>>>>> • LOG4J2-3359: log4j-1.2-api 2.17.2 throws >> NullPointerException while removing appender with name as null. Thanks to >> Rajesh. >>>>>> • LOG4J2-2872: Fix problem with non-uppercase custom levels. >> Thanks to Alla Gofman. >>>>>> • LOG4J2-3475: Add missing message parameterization in >> RegexFilter. Thanks to Jeremy Lin. >>>>>> • LOG4J2-3428: Update 3rd party dependencies for 2.18.0. >>>>>> • LOG4J2-3531: Fix parsing error, when XInclude is disabled. >> Thanks to Simo Nikula. >>>>>> • LOG4J2-3537: Fixes problem with wrong ANSI escape code for >> bright colors Thanks to Pavel_K. >>>>>> >>>>>> Changes >>>>>> >>>>>> • LOG4J2-3536: Upgrade the Flume Appender to Flume 1.10.0 >>>>>> • LOG4J2-3516: Move perf tests to log4j-core-its >>>>>> • LOG4J2-3506: Support Spring 2.6.x. >>>>>> • LOG4J2-3473: Make the default disruptor WaitStrategy used by >> Async Loggers garbage-free. >>>>>> • LOG4J2-3476: Do not throw UnsupportedOperationException when >> JUL ApiLogger::setLevel is called. >>>>>> • LOG4J2-3427: Improves ServiceLoader support on servlet >> containers. >>>>>> >>>>>> >>>>>> Tag: >>>>>> a) for a new copy do "git clone >> https://github.com/apache/logging-log4j2.git and then "git checkout >> tags/log4j-2.18.0-rc1” or just "git clone -b log4j-2.18.0-rc1 >> https://github.com/apache/logging-log4j2.git" >>>>>> b) for an existing working copy to “git pull” and then “git checkout >> tags/log4j-2.18.0-rc1” >>>>>> >>>>>> Web Site: https://logging.staged.apache.org/log4j/2.x/index.html. >>>>>> >>>>>> Maven Artifacts: >> https://repository.apache.org/content/repositories/orgapachelogging-1086/ >>>>>> >>>>>> 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-1086/org/apache/logging/log4j/ >>>>>> >>>>>> Ralph >>>> >>
