当前位置: 代码网 > it编程>编程语言>Java > 使用logback日志文件多环境配置路径方式

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

2025年02月23日 Java 我要评论
logback日志文件多环境配置路径项目中遇到问题,springboot项目 本地jar包部署到现场后,经常遇到现场的日志存放的路径会更改,经过查阅,有两种方式,下面简单说明一下。一、第一种 启动ja

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日志保存到指定的目录下。亲测可用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com