Improving log4j so it can easily be used with servlet logging
-------------------------------------------------------------
Key: LOG4J2-42
URL: https://issues.apache.org/jira/browse/LOG4J2-42
Project: Log4j 2
Issue Type: Wish
Components: API
Reporter: Curt Arnold
On May 30, 2010, at 11:49 AM, Thorbjørn Ravn Andersen wrote:
There is one more thing that I would really like to see in log4j 2.0, namely
the ability for a servlet to log to a servlet container using log4j (and in
slf4j too but that is a different story). Currently that cannot be done,
because there is no way for the code asking for the logger to pass a "this"
reference to the logging framework.
I would suggest that in log4j 2.0 the LoggerManager.getLogger() signature is
changed to accept the class (as now), and a varargs of Objects. The objects
are passed to the appender when needing to do the actual logging, allowing a
ServletLoggerAppender to look for any object extending GenericServlet and
invoke its log method.
For client code it would mean that the logger object was retreived similar to:
Logger log = Logger.getLogger(this.getClass(), this);
We might even consider making the rule in log4j 2.0 that "the name of the
logger is the full name of the class of the first object"[2]. In that case we
could make do with:
Logger log = Logger.getLogger(this);
This would most likely also result in much other code being cleaner by allowing
to drop the "getClass()" clause.
What do you think?
[1]
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/GenericServlet.html#log%28java.lang.String%29
[2] For backwards compatability instances of Class should be treated slightly
different :)
--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
The follows at http://thread.gmane.org/gmane.comp.jakarta.log4j.devel/15576
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]