apache / apache/logging-log4j2

Split off XML configuration into its own module or internal package

Open
#2,383 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3.6k
Forks
1.7k
Avg merge
21h 30m
Merged PRs (30d)
27

Description

Since `java.xml` is an **optional** module in Log4j Core 3.x, we need to protect the users from linkage errors like the one reported in [LOG4J2-3681](https://issues.apache.org/jira/browse/LOG4J2-3681).

I see two way to do it:

- creating a `log4j-config-xml` module like we did with YAML in #2142,
- moving the implementation details into their own class/package.

The first solution seems a little bit drastic to me: **most** users will have `java.xml` or they will not care about JPMS at all.

Regarding the second one, as far as I know the only way to access optional dependencies that is compatible with all JVMs is to access the implementation via reflection. We might as well move the configuration factory to an internal package and leave only a public facade.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.