说明
在使用Logback中需要保存输出日志,但是却在保存的时候路径出现问题
项目背景
1、Win7
2、Java Web + Tomcat 7.0(在D盘目录下)
3、Logback 1.1.7
案例一
Logback.xml文件配置
<!-- 路径名称 --> <property name="log.base" value="logs" /> <!-- 保存的文件名 --> <property name="log.fileName" value="log" />
注意:value=“logs”
如果是以这种方式配置,那么日志文件则保存到在项目启动的目录下,
即 D:\tomcat7.0\bin\logs\log.txt
案例二
Logback.xml文件配置
<!-- 路径名称 --> <property name="log.base" value="/logs" /> <!-- 保存的文件名 --> <property name="log.fileName" value="log" />
注意:value=“/logs”
如果是以这种方式配置,那么日志文件则保存到系统目录下,
即 D:\logs\log.txt
案例三
Logback.xml文件配置
<!-- 路径名称 --> <property name="log.base" value="../logs" /> <!-- 保存的文件名 --> <property name="log.fileName" value="log" />
注意:value=“../logs”
如果是以这种方式配置,那么日志文件则保存到系统目录下,
即 D:\tomcat7.0\logs\log.txt
总结
文件相对保存路径设置可分以下三种:
1. value=“logs” – 表示保存到程序运行目录,在tomcat中为bin目录
2. value=“/logs” – 表示保存到系统目录
3. value=“../logs” – 表示保存到程序运行目录的父目录
补充知识:logback-spring.xml中三种相对路径生成的日志文件的位置
logback-spring.xml中关于路径配置的三种写法:
写法1:<property name="log.path" value="logs" />
写法2:<property name="log.path" value="/logs" />
写法3:<property name="log.path" value="../logs" />
项目(路径D:\workspace\Test)启动的三种场景:
场景1:项目所在workspace在D盘,直接从eclipse中启动
场景2:打成jar包放在桌面的test文件夹下,用bat文件(java -jar Test.jar)启动
场景3:jar文件放在centOS的/test目录下,用sh文件(nohup java -jar Test.jar &)启动
场景1
场景2
场景3
写法1
D:\workspace\Test\logs\{name}
C:\Users\{user}\Desktop\logs\{name}
/test/logs/{name}
写法2
D:\logs\{name}
C:\logs\{name}
/logs/{name}
写法3
D:\workspace\logs\{name}
C:\Users\{user}\logs\{name}
/logs/{name}
注:路径中的{user}为C盘中当前用户目录名称,{name}为配置文件中的${log.name}即日志文件名称
以上这篇使用Logback日志保存到相对路径的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。