通常在开发JAVA项目时会用到Log4J包来记录日志,但在JAVA项目用得好好的配置搬到WebApp项目就不行了,主要是他们的配置不同,所以导致出错,在WebApp的配置如下:
在Servlet的init方法下用如下配置
public void init() throws ServletException {
// get web app real directory
String prefix = getServletContext().getRealPath("/");
System.setProperty("webappHome", prefix);
// read parameter from web.xml file to set log4j property
String file = getInitParameter("profile");
// set log4j
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
其web.xml中配置需添加如下标签:
....这里省去servlet的一些配置
profile
/WEB-INF/classes/log4j.properties
systemProfile
/WEB-INF/classes/system.properties
1
用来配置log4J的属性文件,此文件放在src中:
log4j.rootLogger=Info,R,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Encoding=UTF-8
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%l]%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.Encoding=UTF-8
log4j.appender.R.File=${webappHome}/log4j.log
#log4j.appender.R.File=c:\\log4j.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%l]%m%n
分享到:
2009-07-01 21:14
浏览 5153
论坛回复 / 浏览 (0 / 1799)
评论