Re: Structured concurrency in Java 19+

2022-09-09 Thread Volkan Yazıcı
I expect scoped variables that will be introduced with Loom to replace MDC
attached to threads.

On Wed, Sep 7, 2022 at 8:41 PM Matt Sicker  wrote:

> Java 19 is coming out soon, and that includes a preview version of virtual
> threads and structured concurrency APIs. While I’m not that familiar with
> the Java implementation, I’d imagine it’ll have some similarities with
> Kotlin coroutines and other similar structured concurrency libraries.
>
> I’ve played around with the general concept myself, particularly an
> interesting Python library for the same. I think some sort of structured
> concurrency architecture would be useful for making some async aspects of
> Log4j easier to understand (mostly the areas where we spawn threads for
> things, not for async logging). While the API isn’t stable, we can abstract
> it well enough with multi version jars. What I’m more curious about is how
> we’d interact (if at all) with virtual threads, coroutines, or structured
> concurrency APIs in general. If an app uses structured concurrency
> throughout, it might want the logging system to participate in the same
> flow for clean shutdowns.
>
> Does anyone have any more concrete use cases that might be relevant for
> us? Or does this seem more relevant for networking libraries and frameworks?
>
> —
> Matt Sicker


[VOTE] Release Apache Log4j 2.19.0-rc1

2022-09-09 Thread Ralph Goers
This is a vote to release Log4j 2.19.0, the next version of the Log4j 2 project.

Note that the security page on the web site was updated to better describe 
CVE-2021-44228 and CVE-2021-45046. Please review those changes.

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-3583: Add support for SLF4J2 stack-valued MDC. Thanks to 
Pierrick Terrettaz.
• LOG4J2-2975: Add implementation of SLF4J2 fluent API. Thanks to 
Daniel Gray.
Fixed Bugs
• LOG4J2-3578: Generate new SSL certs for testing.
• LOG4J2-3556: Make JsonTemplateLayout stack trace truncation operate 
for each label block. Thanks to Arthur Gavlyukovskiy.
• LOG4J2-3550: SystemPropertyArbiter was assigning the value as the 
name. Thanks to DongjianPeng.
• LOG4J2-3560: Logger$PrivateConfig.filter(Level, Marker, String) was 
allocating empty varargs array. Thanks to David Schlosnagle.
• LOG4J2-3561: Allows a space separated list of style specifiers in the 
%style pattern for consistency with %highlight. Thanks to Robert Papp.
• LOG4J2-3564: Fix NPE in log4j-to-jul in the case the root logger 
level is null.
• LOG4J2-3545: Add correct manifest entries for OSGi to log4j-jcl 
Thanks to Johan Compagner.
• LOG4J2-3565: Fix RollingRandomAccessFileAppender with 
DirectWriteRolloverStrategy can't create the first log file of different 
directory.
• LOG4J2-3579: Fix ServiceLoaderUtil behavior in the presence of a 
SecurityManager. Thanks to Boris Unckel.
• LOG4J2-3559: Fix resolution of properties not starting with log4j2.. 
Thanks to Gary Gregory.
• LOG4J2-3557: Fix recursion between Log4j 1.2 LogManager and Category. 
Thanks to Andreas Leitgeb.
• LOG4J2-3587: Fix regression in Rfc5424Layout default values. Thanks 
to Tomas Micko.
• LOG4J2-3548: Improve support for passwordless keystores. Thanks to 
Kristof Farkas-Pall.
Changes
• LOG4J2-3572: Add getExlicitLevel method to LoggerConfig.
• LOG4J2-3589: Allow Plugins to be injected with the LoggerContext 
reference.
• LOG4J2-3588: Allow PropertySources to be added.
Removed
• LOG4J2-3573: Removed build page in favor of a single build 
instructions file. Thanks to Wolff Bock von Wuelfingen.
• LOG4J2-3590: Remove SLF4J 1.8.x binding.

Tag: 
a)  for a new copy do "git clone https://github.com/apache/logging-log4j2.git 
and then "git checkout tags/log4j-2.19.0-rc1”  or just "git clone -b 
log4j-2.19.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.19.0-rc1”

Web Site:  https://logging.staged.apache.org/log4j/2.x/index.html.

Maven Artifacts: 
https://repository.apache.org/content/repositories/orgapachelogging-1088/

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-1088/org/apache/logging/log4j/

Ralph

Re: [VOTE] Release Apache Log4j 2.19.0-rc1

2022-09-09 Thread Piotr P. Karwasz
Hi Ralph,

On Sat, 10 Sept 2022 at 00:56, Ralph Goers  wrote:
> Web Site:  https://logging.staged.apache.org/log4j/2.x/index.html.

I forgot to document the removal of `log4j-slf4j18-impl` and the new
`log4j-slf4j2-impl`:
https://logging.staged.apache.org/log4j/2.x/log4j-slf4j-impl/index.html

I pushed a patch to `release-2.x`.

I don't know if it is relevant, but the distribution jars and Maven
repo jars have different hashes.

Piotr