GitHub user ppkarwasz created a discussion: Deprecate the Log4j Scala API

In the Scala ecosystem, the most widely used logging API is [Lightbend’s Scala 
Logging](https://github.com/lightbend-labs/scala-logging). It is a 
community-driven project with strong adoption and integrates naturally with 
Scala features, notably [macros that transform string interpolation into 
parameterized 
logging](https://github.com/lightbend-labs/scala-logging?tab=readme-ov-file#string-interpolation)
 at compile time.

Given this, it may be worth reconsidering the role of the Log4j Scala API. 
Instead of maintaining a separate Scala-specific API within Log4j, we could 
**deprecate the Log4j Scala API** and focus on contributing missing 
functionality to Scala Logging.

Although Scala Logging is currently tied to SLF4J, its design could be extended 
to support additional backends without breaking changes, similar to Commons 
Logging. Introducing a native Log4j API backend would allow Scala users to 
benefit from Log4j API-specific features, such as capturing log statement 
locations at compile time via 
[`LogBuilder#withLocation`](https://logging.apache.org/log4j/2.x/javadoc/log4j-api/org/apache/logging/log4j/LogBuilder.html#withLocation(java.lang.StackTraceElement)).

What do you think about:

1. Deprecate the Log4j Scala API.
2. Engage with the Scala Logging maintainers to explore adding a native Log4j 
API backend.


GitHub link: https://github.com/apache/logging-log4j2/discussions/4021

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to