我使用weblogic在服務器上部署了兩個應用程序。我爲每個應用程序創建了單獨的屬性文件和配置servlet。但發生的問題是記錄器附加到最新部署的應用程序的日誌文件。這個代碼在tomcat上運行良好,但是當部署在weblogic服務器上時,它的行爲就像只有一個實例在工作,而且這也是最新的。針對多個應用程序使用log4j的應用程序級日誌在weblogic上無法正常工作
log4j.properties文件,我把在WEB-INF:
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:abc.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.Append=true
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %-5p %c (%F:%L) - %m%n
我已經把的log4j-1.2.14.jar在lib文件夾,所有的圖書館都居住。
在servlet初始化Inititalising它()方法:
public void init() throws ServletException {
logger.info("Servlet...................");
super.init();
String prefix = getServletContext().getRealPath("/");
String log4j = getServletContext().getInitParameter"log4jConfig");
if (log4j != null) {
PropertyConfigurator.configure(prefix + log4j);
}
}
和web.xml條目是:
<context-param>
<param-name>log4jConfig</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
我至少可以看到2個拼寫錯誤。在你的代碼文件中缺少斜槓和'getServletContext()。getInitParameter「log4jConfig」)''File = C:abc.log''(' – JoseK