Hi,
I am quite new to Tomcat and wanted to configure Tomcat and my webapps
to log properly.
I made some simple steps to understand log4j.
I've noticed that log4j does *not* reconfigure on config file change
unless I tell him programmatically with
PropertyConfigurator#configureAndWatch. Well, this situation is quite
unpleasant since I wanted to configure my l4j env completely with
properties/xml files and *not* programmatically.
I've searched the list but couldn't gain any good information to use.
Is there some possibility to tell log4j in the props file something like
'log4j.watch=true'?
Another issue is that I want to reuse the same props file on different
webapps and there is no built-in possibility to tell within the context:
log4j.appender.mystuff.File=${catalina.home}/logs/${contextName}.log
???
Since I didn't find any built-in solution to the problems above, I have
to create a contextlistener which configures those parts at startup.
my ServletContextListener would look like:
public void contextInitialized(ServletContextEvent sce) {
// I really dislike this option and would really like rely on
the
automatic property discovery
String path =
sce.getServletContext().getRealPath("/WEB-INF/classes/log4j.properties");
PropertyConfigurator.configureAndWatch(path);
String contextName =
sce.getServletContext().getServletContextName();
//and now?? how do I tell, for instance the appender "mystuff"
to use
#setFile("${catalina.home}/logs/"+contextName+".log")
//there is no way to retreive a declared fileappender by name,
is there?
}
System.setProperty("contextName",contextName);
Can't be used obviously.
Any help is be appreciated!
Mike
--
<NO> OOXML - Say NO To Microsoft Office broken standard
http://www.noooxml.org
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]