Den 30/05/10 21.34, Ralph Goers skrev:
Wouldn't it make more sense for the LoggerContext to have a reference to the 
ServletContext? The Appender could then do

if (getContext().getServletContext() != null) {
   getContext().getServletContext().log(event.getFormattedMessage());
}

I do not know. I am unfamiliar with what the LoggerContext provides. Are you suggesting that for each and every possible sub-context you will provide a field in the LoggerContext?

Note that if the servlet adds its name to the MDC then all log records will 
have this available.  

To be honest though, I would have expected the desire would be to have the 
ServletContext's log methods route to Log4j, not the other way around.
The reason is simple. There is no guarantee that any J2EE container can or will allow access to the filesystem. Using the servlet log-method is the _ONLY_ well-defined way to log things inside a J2EE container without needing to make assumptions and manual configurations (remember the container doesn't help).

Possible assumptions may be:

* I can access the file system.
* Current working directory can be used (for writing or starting navigation)
* The JVM provides environment variable which can be used to locate the user.home of the operating system user running the JVM.
* The JVM is allowed to write in user.home.

I like debug logs placed in the filesystem, but I also like to be able to send log messages to the standard log mechanism. The latter I cannot do right now.

--
  Thorbjørn Ravn Andersen  "...plus... Tubular Bells!"


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to