Mihai Nita created LOG4J2-564:
---------------------------------
Summary: The name of the SLF4JLogger implementation should point
to Log4j 2
Key: LOG4J2-564
URL: https://issues.apache.org/jira/browse/LOG4J2-564
Project: Log4j 2
Issue Type: Bug
Components: SLF4J Bridge
Affects Versions: 2.0-rc1
Environment: All (tried on Ubuntu 12 x64, Windows 7 x64, Mac OS X
Maverick)
Reporter: Mihai Nita
Priority: Critical
The name of org.slf4j.impl.SLF4JLogger should indicate somehow that we are
dealing with Log4j 2.
Right now the class is org.slf4j.impl.SLF4JLogger
These are the names from other bindings:
nop : org.slf4j.helpers.NOPLogger
simple : org.slf4j.impl.SimpleLogger
jdk : org.slf4j.impl.JDK14LoggerAdapter
jcl : org.slf4j.impl.JCLLoggerAdapter
log4j : org.slf4j.impl.Log4jLoggerAdapter
logback : ch.qos.logback.classic.Logger
Every one of them indicates what is the binding for, in the class name (all
slf4j bindings), or as part of package name (logback).
Use case: "hook" into the functionality of the logger under slf4j to control
stuff not accessible through slf4j.
Example:
http://code.google.com/p/okapi/source/browse/#git%2Fapplications%2Frainbow%2Fsrc%2Fmain%2Fjava%2Fnet%2Fsf%2Fokapi%2Fapplications%2Frainbow%2Flogger
Code to reproduce this:
=========
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogHandlerFactory {
static public void main(String [] args) {
Logger localLogger = LoggerFactory.getLogger(LogHandlerFactory.class);
String realLogger = localLogger.getClass().getName();
System.out.printf("%-8s: %s%n", args.length > 0 ? args[0] : "???",
realLogger);
}
}
=========
Thank you,
Mihai
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]