解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题

 更新时间:2021年04月28日 11:34:14   作者:BeiShangBuZaiLai  
这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

application.properties

加入以下配置

#logback home
logging.path=D:/logs/esb-producer

logback.xml

	<property name="LOG_PATH" value="${LOG_PATH:- }" />
    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <File>${LOG_PATH}/info.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>20MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>2</maxHistory>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
            </Pattern>
        </layout>
    </appender>

重点是这段<property name="LOG_PATH" value="${LOG_PATH:- }" />

${LOG_PATH:-} 用法

  •  首先LOG_PATH是什么它不是你application.properties配置的 logging.path key, LOG_PATH 是logging.path的系统环境变量(请参考下图)直接引用在,不要直接引用logging.path 是引用不到的
  • LOG_PATH = D:/logs/esb-producer
  • -表示分割符,后面的参数是默认路径
  • .表示当前项目根路径也可以是/usr/local/log…举一反三
  • so ${LOG_PATH:-.} =${D:/logs/esb-producer-当前项目根路径}
  • 这种方式有可能会生成俩个日志路径 一个是 D:/logs/esb-producer 另一个是在当前项目根路径生成的日志 因为spring比logback先启动 所以会在项目更目录生成一个spring的日志 这个就比较恶心了 我想把日志输出到一起怎么做呢

${LOG_PATH:- } 默认路径设置成空格这样就不会在你的项目根目录生成spring日志文件了(会在你服务器根目录生成)接下来系统日志就会输出到你的自定义目录了

logback配置

在这里插入图片描述

到此这篇关于解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题的文章就介绍到这了,更多相关springboot logback LOG_PATH_IS_UNDEFINED内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot使用AES对JSON数据加密和解密的实现方法

    SpringBoot使用AES对JSON数据加密和解密的实现方法

    这篇文章主要介绍了SpringBoot使用AES对JSON数据加密和解密的实现方法,文章通过代码示例介绍的非常详细,对我们的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-08-08
  • 详解eclipse下创建第一个spring boot项目

    详解eclipse下创建第一个spring boot项目

    本文详细介绍了创建第一个基于eclipse(eclipse-jee-neon-3-win32-x86_64.zip)+spring boot创建的项目。
    2017-04-04
  • Java面试题冲刺第二十一天--JVM

    Java面试题冲刺第二十一天--JVM

    这篇文章主要为大家分享了最有价值的三道关于JVM的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 使用ScheduledThreadPoolExecutor踩过最痛的坑

    使用ScheduledThreadPoolExecutor踩过最痛的坑

    这篇文章主要介绍了使用ScheduledThreadPoolExecutor踩过最痛的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Java面试之高级特性基础总结

    Java面试之高级特性基础总结

    这篇文章主要为大家详细介绍了10个Java高级特性基础相关的问题,也是大家面试中常常会遇到的问题。文中的示例代讲解详细,感兴趣的可以了解一下
    2023-01-01
  • RabbitMQ使用案例详解

    RabbitMQ使用案例详解

    RabbitMQ是基于Erlang语言开发的开源的消息中间件,这篇文章给大家介绍RabbitMQ使用案例,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • 归并排序的实现代码与思路

    归并排序的实现代码与思路

    归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
    2013-03-03
  • java使用@Transactional时常犯的N种错误

    java使用@Transactional时常犯的N种错误

    @Transactional是我们在用Spring时候几乎逃不掉的一个注解,本文主要介绍了使用 @Transactional 时常犯的N种错误,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 利用SpringBoot实现多数据源的两种方式总结

    利用SpringBoot实现多数据源的两种方式总结

    关于动态数据源的切换的方案有很多,核心只有两种,一种是构建多套环境,另一种是基于spring原生的AbstractRoutingDataSource切换,这篇文章主要给大家介绍了关于利用SpringBoot实现多数据源的两种方式,需要的朋友可以参考下
    2021-10-10
  • PostMan传@RequestParam修饰的数组方式

    PostMan传@RequestParam修饰的数组方式

    这篇文章主要介绍了PostMan传@RequestParam修饰的数组方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论