使用Logback日志保存到相对路径的操作
说明
在使用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” ?C 表示保存到程序运行目录,在tomcat中为bin目录
2. value=“/logs” ?C 表示保存到系统目录
3. value=“../logs” ?C 表示保存到程序运行目录的父目录
补充知识: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}即日志文件名称


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




