Logback日志存放路径不统一解决方案
问题:
将一个应用程序打成了Jar包后,使用命令运行jar包,发现日志存放的路径并不统一:
- 比如hello.jar包放在/aaa/bbb目录下
- 如果在/aaa/bbb目录下执行:java-jarhello.jar,那么日志就会存放在/aaa/bbb目录下
- 如果在/aaa目录下执行:java-jarbbb/hello.jar,那么日志就会存放在/aaa目录下
如何才能不同位置执行jar包,但是日志放到一个统一的目录中呢?
解决过程:
查看logback.xml中与日志路径相关的部分如下:
result-${bySecond}.log true %-4relative[%thread]%-5level%logger{35}-%msg%n
其实这里也可以指定路径的,比如:
如果能够把这个绝对路径配置一下就好了,而且是在程序外部,这样方便了打成jar包以后也能配置
比如:
“随着通用日志组件转入Slf4j,logback也变成了默认的日志实现,像log4j一样,logback.xml中也可以使用系统属性或环境变量,如${catalina.home}。”
既然logback是可以使用系统属性的,那就可以使用java-D配置系统属性啊
如下:java-Dlogback.home="/home/xxx/logs"-jarhello.jar
问题解决!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。