问题:

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

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

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

解决过程:

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

 <timestamp key="bySecond" datePattern="yyyyMMdd'-'HHmmss"/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>result-${bySecond}.log</file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

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

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

  如果能够把这个绝对路径配置一下就好了,而且是在程序外部,这样方便了打成jar包以后也能配置
  比如:<file>${logback.home}/result-${bySecond}.log</file>,在外部指定${logback.home}就可以

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

  既然logback是可以使用系统属性的,那就可以使用java -D 配置系统属性
  如下:java -Dlogback.home="/home/xxx/logs" -jar hello.jar

  问题解决!

  

  原创文章,欢迎转载,转载请注明出处!

Logback日志存放路径的问题的更多相关文章

  1. hadoop之 hadoop日志存放路径

    环境:[root@hadp-master hadoop-2.7.4]# hadoop versionHadoop 2.7.4 Hadoop的日志大致可以分为两类: (1).Hadoop系统服务输出的日 ...

  2. Spring boot+ logback环境下,日志存放路径未定义的问题

    日志路径未定义 环境:Spring boot + logback 配置文件: <configuration> <springProfile name="dev"& ...

  3. SCCM日志存放路径

    sccm有一些比较重要的日志大家可能经常需要查看.下面是一些比较常用的日志文件的存放位置. 客户端日志文件: 日志位于服务器端 SMS_CCM\Logs 文件夹中 日志位于客户端 %Windir%\S ...

  4. Spring Boot Logback日志配置

    logback的使用: Logback的默认配置 如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurat ...

  5. springBoot(10)---logback日志

    logback日志 一.概述  和log4j优点: 实际上,这两个日志框架都出自同一个开发者之手,Logback 相对于 Log4J 有更多的优点 (1)logback不仅性能提升了,初始化内存加载也 ...

  6. springboot+logback日志输出企业实践(下)

    目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...

  7. springboot+logback日志输出企业实践(上)

    目录 1.引言 2.logback简介 3. springboot默认日志框架-logback 3.1 springboot示例工程搭建 3.2 日志输出与基本配置 3.2.1 日志默认输出 3.2. ...

  8. 【使用篇二】SpringBoot的日志体系及如何开启logback日志(15)

    抄自:https://blog.csdn.net/liujun03/article/details/82684209 Java应用中,日志一般分为以下5个级别(从高到低): ERROR 错误信息 WA ...

  9. SpringBoot中Logback日志的配置

    说明 在SpringBoot中自带的日志工具是Logback,我们可以在Springboot的配置文件中直接对Logback进行一些简单的配置,如: logging.level.com.nowcode ...

随机推荐

  1. openstack vm ping 114.114.114.114

    route add -net 0.0.0.0 netmask 0.0.0.0 gateway 192.168.0.131 route del -net 0.0.0.0 netmask 0.0.0.0 ...

  2. linux系统下php通过php_oci8扩展连接oracle数据库 Nginx

    相关版本信息: PHP Version 5.6.30 nginx version: nginx/1.10.3 Linux version 2.6.32-358.el6.x86_64 (mockbuil ...

  3. Xcode添加全局引用文件pch

    Xcode6之前有PrefixHeader.pch文件在写项目的时候,大部分宏定义.头文件都导入在这个pch文件,虽然方便,但会增加Build的时间,所以Xcode6以及之后的版本去除了PrefixH ...

  4. ABAP error:CONVT_NO_NUMBER

    今天写了个接口,传入数据到SAP,结果接收后在报表展示时直接报错. 检查后发现数据转换出错,接收到的数据格式混乱. 最后检查了所有地方发现,源系统传入的数据长度为9个字节,但是自己的接收程序,定义数据 ...

  5. Cloud Foundry 组件

    原文:https://blog.csdn.net/little_crab_0924/article/details/78022391 Cloud Foundry 组件概述 Cloud Foundry ...

  6. 20155306 白皎 0day漏洞——漏洞利用原理之DEP

    20155306 白皎 0day漏洞--漏洞利用原理之DEP 一.DEP机制的保护原理 1.为什么出现DEP? 溢出攻击的根源在于现代计算机对数据和代码没有明确区分这一先天缺陷,就目前来看重新去设计计 ...

  7. # 20155337《网络对抗》Exp7 网络欺诈防范

    20155337<网络对抗>Exp7 网络欺诈防范 实践目标 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 (1)简单应用SET工具建立 ...

  8. EZ 2018 05 06 NOIP2018 慈溪中学集训队互测(五)

    享受爆零的快感 老叶本来是让初三的打的,然后我SB的去凑热闹了 TM的T2写炸了(去你妹的优化),T1连-1的分都忘记判了,T3理所当然的不会 光荣革命啊! T1 思维图论题,CHJ dalao给出了 ...

  9. POJ 3041&&3020

    两道二分图的练手题. 3041:题意大概是在一个N*N的图上有K个东西,你每次可以清除一行或一列上的所有东西.让你求最少的操作次数. 我们根据题意建图.对于每一个点的坐标(x,y)之间连一条边.比如样 ...

  10. controlfile作为RMAN的repository时,对 keep time 的测试

    4月2日,首先查看系统状况: SQL> show parameter control NAME                                 TYPE        VALUE ...