1.需要使用到spring
2.web.xml中增加配置
<!-- 配置日志 -->
<context-param>
<param-name>webAppRootKey</param-name> <!-- 项目运行的路径 -->
<param-value>webApp.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>600000</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
3.然后log4j.properties里面指定文件路径的时候就可以用${webApp.root}/......
3.1 例:log4j.appender.info.File=${webApp.root}/WEB-INF/logs/info.log
4.日志配置文件 log4j.properties
log4j.rootLogger =CONSOLE,INF_OUT,DEBUG,ERROR_OUT,WARN
log4j.appender.INF_OUT.encoding=UTF-8
log4j.appender.INF_OUT.StaticLogFileName=false
log4j.appender.INF_OUT.ImmediateFlush=true
log4j.appender.INF_OUT.ROLLING_FILE.MaxFileSize=10KB
log4j.addivity.org.apache=true
###############################################
#输出日志到文件中,最低级别为ERROR,每天一个文件#
log4j.appender.ERROR_OUT=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR_OUT.Threshold=error
log4j.appender.ERROR_OUT.File=${webApp.root}/WEB-INF/logs/error.log
log4j.appender.ERROR_OUT.DatePattern='.'yyyy-MM-dd
log4j.appender.ERROR_OUT.Append=true
log4j.appender.ERROR_OUT.layout=org.apache.log4j.PatternLayout
log4j.appender.ERROR_OUT.layout.ConversionPattern=[%-5p][0007][0001][doshrwebService][%c][%m][method:%l][%d{ yyyy-MM-dd HH:mm:ss}]%n
###############################################
#输出日志到文件中,最低级别为info,每天一个文件
log4j.appender.INF_OUT=org.apache.log4j.DailyRollingFileAppender
log4j.appender.INF_OUT.Threshold=info
log4j.appender.INF_OUT.File=${webApp.root}/WEB-INF/logs/info.log
log4j.appender.INF_OUT.DatePattern='.'yyyy-MM-dd
log4j.appender.INF_OUT.Append=true
log4j.appender.INF_OUT.layout=org.apache.log4j.PatternLayout
log4j.appender.INF_OUT.layout.ConversionPattern=[%-5p][0007][0001][doshrwebService][%c][%m][method:%l][%d{ yyyy-MM-dd HH:mm:ss}]%n
5.使用:
class HelloWorldAction
private static Logger logger = Logger.getLogger(HelloWorldAction.class);
public String test()
{
logger.info("test message...");
return SUCCESS;
}
6.原著:
http://blog.csdn.net/csdnones/article/details/40048443
http://www.blogjava.net/vip01/archive/2008/05/21/201821.html