以DailyRollingFileAppender 为例:假设每天一个日志文件有以下设置:log4j.appender.A1=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A1.File=app.loglog4j.appender.A1.DatePattern='.'yyyy-MM-ddlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t] - %m%n此时生成日志文件将位于tomcat的bin目录下,如要将日志文件保存在 :根目录/web-info/logs/下,个人有以下4种解决方案:1 绝对路径log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log但这种写法灵活性很差以下3中使用相同的设置原理: jvm的环境变量2:spring的Log4jConfigListener(这种方式愣是没解决,郁闷呀...)通过以下配置:<context-param> <param-name>webAppRootKey</param-name> <param-value>webApp.root</param-value></context-param><context-param><param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value></context-param><listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>...log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log...来解决
3:使用已有jvm变量:例如: log4j.appender.logfile.File=${user.home}/logs/app.log 日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log4: 自己设置目录,也就是在项目启动时通过System.setProperty设置通过实现ServletContextListener来解决:
(我是通过这种方式解决的,蛮好用的哟!!!)
例如
public class log4jlistener implements ServletContextListener {
public static final String log4jdirkey = "log4jdir";
public void contextDestroyed(ServletContextEvent servletcontextevent) {
System.getProperties().remove(log4jdirkey);
}
public void contextInitialized(ServletContextEvent servletcontextevent) {
String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
//System.out.println("log4jdir:"+log4jdir);
System.setProperty(log4jdirkey, log4jdir);
}
}
web.xml配置:
<listener> <listener-class>com.log4j.log4jlistener</listener-class></listener>log4j.prtperties 配置:log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log来解决。
分享到:
相关推荐
Log4j.jar包,和log4j.properties属性文件打包下载.
log4j.properties配置文件
log4j.properties配置详解
log4j.properties配置
java 日志出入log4j配置文件(完整版和精简版) log4j.properties(完整版) log4j.properties(精简版)
log4j.properties配置分级别单独打印
完美log4j.properties 配置
java开发中 log4j的基本配置,实现日志的记录 java开发中 log4j的基本配置,实现日志的记录
log4j.properties配置详解,长期总结,以完善
log4j.properties log4j经典配置,不看是你的损失
[SSH+Maven+Bootstrap视频教程]_17. 添加 log4j.properties 配置文件.zip
Log4j.properties配置详解,Log4j.properties配置详解,Log4j.properties配置详解,Log4j.properties配置详解Log4j.properties配置详解
log4j中使用的jar包,版本为1.2.17,下载即可使用,满足idea和eclipse使用,并附有配置文件
日志记录工具:Log4j.jar+使用方法+配置文件log4j.properties
### set log levels ###log4j.rootLogger = debug , stdout , D , E### 输出到控制台 ###log4j.appender.stdout =org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target =System.outlog4j.appender.stdout....