使用logback日志文件多环境配置路径方式

 更新时间:2025年02月22日 09:47:40   作者:猩猩之火  
文章介绍了两种解决Spring Boot项目中日志文件多环境配置路径问题的方法,第一种方法是通过启动jar包时添加参数指定日志配置文件;第二种方法是通过配置logback-spring.xml文件根据不同的环境加载不同的日志路径

logback日志文件多环境配置路径

项目中遇到问题,springboot项目 本地jar包部署到现场后,经常遇到现场的日志存放的路径会更改,经过查阅,有两种方式,下面简单说明一下。

一、第一种 启动jar包时 添加参数

--logging.config=F:\hgtest\config\logback.xml,采用指定的日志配置文件。

start javaw -jar F:\hgtest\hg.jar --spring.config.location=F:\hgtest\config\ --logging.config=F:\hgtest\config\logback.xml

二、多环境配置日志存放的路径

启动jar会根据spring.profiles.active的值来判断取哪个日志路径保存日志。

1、添加依赖,方便使用<springProperty> 标签

<!-- Logback Classic Module -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version> <!-- 使用适合的版本号 -->
    </dependency>

2、修改logback-spring.xml文件配置

备注:

  • logback.xml 和 logback-spring.xml的区别
  • logback和logback-spring.xml都可以用来配置logback,但是两者的加载顺序是不一样的。
  • logback.xml—>application.properties—>logback-spring.xml.
  • 所以 有变量配置在了 application.properties 如果logback.xml进行取值就会取值不到,所以建议在Springboot中 尽量使用 logback-spring.xml。

3、logback-spring.xml修改 增加路径变量读取

 <!-- 日志存放路径 -->
    <springProperty scope="context" name="log.path" source="logging.file.path" defaultValue="./logs" />
   
<!-- 系统日志输出 -->
	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
	    <file>${log.path}/sys-info.log</file>
        <!-- 循环政策:基于时间创建日志文件 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
			<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- 日志最大的历史 15天 -->
			<maxHistory>15</maxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>${log.pattern}</pattern>
		</encoder>
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 -->
            <level>INFO</level>
            <!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
            <!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
	</appender>

这里配置了springProperty 用于从 application.properties 中获取文件地址,并且配置了默认地址。

  • name:logback-spring.xml中可以使用的变量,对应下面引用的变量值。
  • source:来自 application.properties中配置的变量
  • defaultValue:获取不到 application.properties中配置的变量时 默认的值,(这里建议直接配置生产环境的位置)

这样配置后,即可把log日志保存到指定的目录下。亲测可用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringMVC中Model和ModelAndView的EL表达式取值方法

    SpringMVC中Model和ModelAndView的EL表达式取值方法

    下面小编就为大家分享一篇SpringMVC中Model和ModelAndView的EL表达式取值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 详解Java 加密解密和数字签名问题

    详解Java 加密解密和数字签名问题

    在做项目中,只要涉及敏感信息,或者对安全有一定要求的场景,都需要对数据进行加密。接下来通过本文给大家分享Java 加密解密和数字签名问题,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • SpringBoot 下在 yml 中的 logging 日志配置方法

    SpringBoot 下在 yml 中的 logging 日志配置方法

    logging 配置主要用于控制应用程序的日志输出行为,可以通过配置定制日志的格式、级别、输出位置等,这篇文章主要介绍了SpringBoot 下在 yml 中的 logging 日志配置,需要的朋友可以参考下
    2024-06-06
  • springboot的LogbackLoggingSystem配置加载流程解析

    springboot的LogbackLoggingSystem配置加载流程解析

    这篇文章主要介绍了springboot的LogbackLoggingSystem配置加载流程源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Java实现 基于密度的局部离群点检测------lof算法

    Java实现 基于密度的局部离群点检测------lof算法

    这篇文章主要介绍了Java实现 基于密度的局部离群点检测------lof算法,本文通过算法概述,算法Java源码,测试结果等方面一一进行说明,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Java裁剪压缩PNG图片,透明背景色变黑的解决方案

    Java裁剪压缩PNG图片,透明背景色变黑的解决方案

    这篇文章主要介绍了Java裁剪压缩PNG图片,透明背景色变黑的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 详解java中List中set方法和add方法的区别

    详解java中List中set方法和add方法的区别

    本文主要介绍了详解java中List中set方法和add方法的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 使用jmx exporter采集kafka指标示例详解

    使用jmx exporter采集kafka指标示例详解

    这篇文章主要为大家介绍了使用jmx exporter采集kafka指标示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • java自动生成ID号的方法

    java自动生成ID号的方法

    这篇文章主要介绍了java自动生成ID号的方法,涉及java生成ID号的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • java 中使用maven shade plugin 打可执行Jar包

    java 中使用maven shade plugin 打可执行Jar包

    这篇文章主要介绍了java 中使用maven shade plugin 打可执行Jar包的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论