问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 如何配置log4j日志文件保存路径

发布网友 发布时间:2022-04-25 11:58

我来回答

2个回答

热心网友 时间:2024-01-23 04:25

以DailyRollingFileAppender 为例:假设每天一个日志文件
有以下设置:

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=app.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.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
...
来解决
2:使用已有jvm变量:
例如:
log4j.appender.logfile.File=${user.home}/logs/app.log
日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log

3 自己设置目录,也就是在项目启动时通过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
来解决。

热心网友 时间:2024-01-23 04:26

#相对路径

log_home=./infoLogs
log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%t] (%F:%L) %d{yyyy-MM-dd HH:mm:ss} - %m%n

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{yyyyMMdd HH:mm:ss}-%p][%F:%L][%t]-- %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${log_home}/app.log
log4j.appender.R.MaxFileSize=1024KB
log4j.appender.R.MaxBackupIndex=10
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
密室逃脱8迷失乐园攻略大全 密室逃脱8迷失游乐园通关攻略 密室逃脱8逃出红色豪宅第7关怎么过_第7关卡通关图文攻略 密室逃脱8卖火柴的小女孩旋转六边形介绍_密室逃脱8卖火柴的小女孩旋转六... 跨国行李托运 房屋复式是什么意思? 什么叫复式房子 请问 为了减掉身上的赘肉 除了锻炼以外 在饮食上要注意什么 请详细点... 淘宝买家购物满500元后使用信用卡的时候就不能支付 笔记本电脑如何保护 水韵江苏旅游年卡和苏州休闲年卡哪个划算 路由器配置向导路由方式上网账号和上网密码? java记录日志有几种方式 路由器设置向导中的上网账号和上网口令默认或一般都是什么 团购跟美团的概念是什么 美团网的团购是什么样的? 造成溺爱的原因 关于溺爱的名言名句 溺爱有两种,放纵型溺爱有什么影响? 关于溺爱的事例 美团的团购ktv什么意思 溺爱有两种,放纵型溺爱有什么害处? 为什么溺爱是一种潜在的伤害? ...预定之后是不是直接入住,还是要另收费。还有团购是什么意思... 美团上,团购是什么意思? 溺爱的十种表现 宠爱和溺爱的区别? 什么是溺爱? 溺爱什么意思啊? 溺爱的意思是什么 什么叫溺爱 Java:系统日志按月存储该如何实现?难道每次插入前还需要判断一下当前时... 无线路由器设置向导中上网账号及口令应该填什么? java怎么将系统日志存到数据库? 路由器里设置向导中的ADSL上网账号和口令到底应该输入什么? java开发里 保存日志方法问题 java中如何使用log4j将日志信息写入数据库中(转) java中log4j动态保存日志问题 java 中怎么将程序出现的异常信息保存到日志文件中 如何将java日志写到文件 在java中从控制台输入一些字符串,并将该类信息保存到日志文件中,怎么做... java 应用日志为什么会存在/var/log/message里面 java保存所有方法和参数日志,怎么弄??? java 怎么把日志写入到网络位置的磁盘 如何将java日志文件保存到tomcat下?急~~~ 如何配置java日志文件,如何写日志到日志文件 java关于存取数据库后做日志记录问题,不是用log4j 安卓平板电脑的系统软件不小心删了,怎么恢复,而且开不了机了怎么办... java开发怎么做日志功能 就是记录用户每一步的操作具体做什么了_百度... 村里给办的社保有啥用 村里办的医保怎么用