log4j配置文件日志输出路径修改
log4j配置文件中路径配置一般有三种方法:
- 绝对路径法:直接配置为系统觉得路径;
- 相对路径法:
log4j.appender.logfile.File=../logs/app.log,将日志记录到tomcat下的logs文件夹;
log4j.appender.logfile.File=logs/app.log,将日志记录到tomcat的bin目录下的logs文件夹;
- 使用环境变量相对路径法:程序会优先找jvm环境变量,然后再找系统环境变量,来查找配置文件中的变量。
log4j.appender.logfile.File=${user.dir}/logs/app.log,使用tomcat容器时${user.dir}对应tomcat的bin目录;
log4j.appender.logfile.File=${user.home}/logs/app.log,${user.home}对应操作系统当前用户目录;
log4j.appender.logfile.File=${webApp.root}/logs/app.log,${webApp.root}对应当前应用根目录;
Spring 中
web.xml
<context-param>
<!-- webAppRootKey是固定的 -->
<param-name>webAppRootKey</param-name>
<param-value>project</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
log4j.propertiest
# Log
## 日期备份
log4j.appender.log = org.apache.log4j.DailyRollingFileAppender
## 项目相对位置 log下
log4j.appender.log.File =${project}/logs/log.txt
## 追加
log4j.appender.log.Append = true
## 过滤器 INFO等级
log4j.appender.log.Threshold = INFO
## 给文件添加后缀 log.txt.2017-08-20
log4j.appender.log.DatePattern='.'yyyy-MM-dd
## 使用模板格式化
log4j.appender.log.layout = org.apache.log4j.PatternLayout
## 模板 左对齐 等级 日期 线程 类名 消息 换行
log4j.appender.log.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ssS} %-5p [%t]: %c -> %m%n