Logback日志存放路径不统一解决方案

网友投稿 783 2022-11-16


Logback日志存放路径不统一解决方案

问题:

将一个应用程序打成了Jar包后,使用命令运行jar包,发现日志存放的路径并不统一:

比如 hello.jar 包放http://在 /aaa/bbb 目录下

如果在 /aaa/bbb 目录下执行:java -jar hello.jar ,那么日志就会存放在 /aaa/bbb 目录下

如果在 /aaa 目录下执行:java -jar bbb/hello.jar ,那么日志就会存放在 /aaa 目录下

如何才能不同位置执行jar包,但是日志放到一个统一的目录中呢?

解决过程:

查看logback.xml中与日志路径相关的部分如下:

result-${bySecond}.log

true

%-4relative [%thread] %-5lZYHPpevel %logger{35} - %msg%n

&lthttp://;/encoder>

result-${bySecond}.log指定了存放日志的名称,是result-yyyyMMdd-HHmmss.log格式

其实这里也可以指定路径的,比如:/home/xxx/logs/result-${bySecond}.log

如果能够把这个绝对路径配置一下就好了,而且是在程序外部,这样方便了打成jar包以后也能配置

  比如:${logback.home}/result-bySecond.log,在外部指定{logback.home}就可以

“随着通用日志组件转入 Slf4j,logback 也变成了默认的日志实现,像 log4j 一样,logback.xml 中也可以使用系统属性或环境变量,如 ${catalina.home}。”

既然logback是可以使用系统属性的,那就可以使用java -D 配置系统属性啊

  如下:java -Dlogback.home="/home/xxx/logs" -jar hello.jar

问题解决!

以上就是本文的全部内容,希望对

http://


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 重命名 Excel 工作表并设置工作表标签颜色的示例代码
下一篇:使用idea插件进行java代码生成的操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~