hoju 2003/08/26 16:00:11
Modified: src/java/org/apache/log4j/servlet InitServlet.java
Log:
Update InitServlet with updated code from InitContextListener. I really need to put
this into a separate class that can be shared between these two configurations.
Jake
Revision Changes Path
1.9 +23 -3
jakarta-log4j-sandbox/src/java/org/apache/log4j/servlet/InitServlet.java
Index: InitServlet.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/servlet/InitServlet.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- InitServlet.java 26 Aug 2003 15:42:12 -0000 1.8
+++ InitServlet.java 26 Aug 2003 23:00:11 -0000 1.9
@@ -134,17 +134,18 @@
private static final String PARAM_LOG4J_PREF_SELECTOR = "log4j-selector";
/**
- * relative path to config file within current webapp
+ * relative path to config file within current webapp config param
*/
private static final String PARAM_LOG4J_CONFIG_PATH = "log4j-config";
/**
- * config file re-reading specified in milliseconds
+ * config file re-reading specified in milliseconds config param
*/
private static final String PARAM_LOG4J_WATCH_INTERVAL = "log4j-cron";
/**
* path to be read from a log4j xml config file as a system property
+ * config param
*/
private static final String PARAM_LOG4J_LOG_HOME = "log4j-log-home";
@@ -389,13 +390,32 @@
File logHomeDir = new File(logHome);
if (logHomeDir.exists() || logHomeDir.mkdirs()) {
- String tempdir =
+ /*String tempdir =
"" + context.getAttribute("javax.servlet.context.tempdir");
int lastSlash = tempdir.lastIndexOf(File.separator);
if ((tempdir.length() - 1) > lastSlash) {
logHomePropName = tempdir.substring(lastSlash + 1) + ".log.home";
+ }*/
+ String contextPath = "";
+
+ try {
+ //use a more standard way to obtain the context path name
+ //which should work across all servers. The tmpdir technique
+ //(above) depends upon the naming scheme that Tomcat uses.
+ String path = context.getResource("/").getPath();
+
+ //first remove trailing slash, then take what's left over
+ //which should be the context path less the preceeding
+ //slash such as "MyContext"
+ contextPath = path.substring(0, path.lastIndexOf("/"));
+ contextPath =
+ contextPath.substring(contextPath.lastIndexOf("/") + 1);
+ } catch (Exception e) {
+ ;
}
+
+ logHomePropName = contextPath + ".log.home";
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]