You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by Ralph Goers <ra...@dslextreme.com> on 2022/06/29 00:00:23 UTC

[VOTE] Release Apache Log4j 2.18.0-rc1

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

Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Matt Sicker <bo...@gmail.com>.
+1

Sigs good, build and test good, site looks fine.
—
Matt Sicker

> On Jun 28, 2022, at 19:00, Ralph Goers <ra...@dslextreme.com> 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


Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Ralph Goers <ra...@dslextreme.com>.
Here is my +1

Ralph

> On Jun 30, 2022, at 4:30 AM, Remko Popma <re...@gmail.com> wrote:
> 
> +1 sigs good
> 
> On Thu, Jun 30, 2022 at 8:23 PM Gary Gregory <ga...@gmail.com> 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 <bo...@gmail.com> 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 <ra...@dslextreme.com>
>> 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 <ga...@gmail.com>
>> 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 <
>> ralph.goers@dslextreme.com> 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
>>>> 
>> 


Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Remko Popma <re...@gmail.com>.
+1 sigs good

On Thu, Jun 30, 2022 at 8:23 PM Gary Gregory <ga...@gmail.com> 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 <bo...@gmail.com> 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 <ra...@dslextreme.com>
> 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 <ga...@gmail.com>
> 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 <
> ralph.goers@dslextreme.com> 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
> > >
>

Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Gary Gregory <ga...@gmail.com>.
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 <bo...@gmail.com> 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 <ra...@dslextreme.com> 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 <ga...@gmail.com> 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 <ra...@dslextreme.com> 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
> >

Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Matt Sicker <bo...@gmail.com>.
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 <ra...@dslextreme.com> 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 <ga...@gmail.com> 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 <ra...@dslextreme.com> 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
> 

Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Ralph Goers <ra...@dslextreme.com>.
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 <ga...@gmail.com> 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 <ra...@dslextreme.com> 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


Re: [VOTE] Release Apache Log4j 2.18.0-rc1

Posted by Gary Gregory <ga...@gmail.com>.
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 <ra...@dslextreme.com> 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