qos-ch / slf4j

Simple Logging Facade for Java
http://www.slf4j.org
MIT License
2.33k stars 988 forks source link

[question] Log4j Version #382

Open FabianoLothor opened 10 months ago

FabianoLothor commented 10 months ago

Hi @ceki

Please, what's the log4j version used when I've org.slf4j:log4j-over-slf4j:jar:1.7.10:compile as dependency?

Or at least, what's the log4j version that org.slf4j:log4j-over-slf4j:jar:1.7.10:compile is trying to mock?

Is there any page that I can use use as reference to get this information?


My question is mainly to figure out what are the Log4j features that I'm able to use based on its version.

ceki commented 10 months ago

Hi @FabianoLothor

It is log4j version 1.x that log4j-over-slf4j mocks.

The log4j-over-slf4j documentation was updated to dissipate any ambiguity.

FabianoLothor commented 10 months ago

Thank you @ceki!

By log4j 1.x you mean that any feature available in the latest version of log4j will be also available at log5j-over-slf4j?

FabianoLothor commented 10 months ago

The reason I'm asking is because I saw that I'm able to use %marker in the PatternLayout, which isn't available in 1.x docs, only in 2.x docs.

However, I'm not able to use %notEmpty{[%marker]}, which is also only available in 2.x docs.

I'm trying to understand what features I can and can't use.

ceki commented 10 months ago

Here is what the documentation states:

SLF4J ships with a module called log4j-over-slf4j. It allows log4j 1.x users (but not log4j 2.x) to migrate existing applications to SLF4J without changing a single line of code but simply by replacing the log4j.jar file with log4j-over-slf4j.jar, as described below.

Are you trying to migrate an existing application or library using log4j 1.x to SLF4J? That is the use case that log4j-over-slf4j.jar caters for.

FabianoLothor commented 10 months ago

That's not the case, my application is currently using log4j-over-slf4j:1.7.x.

What I'm actually looking for is the correct documentation for my application.

I've the following dependencies:

image

I'm without answers for some questions. For example:

I saw many examples and ways of solve some of the questions above, but there are so many versions that is complicated to figure out the best practices reading things out of the docs. Usually the answers don't come with the dependencies and versions being used.


Anyway, I'll spend more time researching, but I'm mainly trying to override the default Logger class without need to create a new LoggerFactory.

I'd like to basically wrap org.apache.log4j.Logger in my CustomLogger and bind this CustomLogger as default to my application. But I'm having a bad time trying to do that with the packages I've available.