广告
返回顶部
首页 > 资讯 > 精选 >Springboot内外部logback多环境配置的示例分析
  • 371
分享到

Springboot内外部logback多环境配置的示例分析

2023-06-26 07:06:37 371人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关SpringBoot内外部logback多环境配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、概述springBoot官方文档Springboot 默认读取的是项目内的

这篇文章给大家分享的是有关SpringBoot内外部logback多环境配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、概述

springBoot官方文档
Springboot 默认读取的是项目内的 resources 中 logback 配置文件。
如果 classpath(resources) 下有logback-test.xml会优先生效,并且会和其他logback文件同时生效。
Springboot 默认日志级别是DEBUG,所以在logback初始化之前,会有DEBUG日志输出。

二、项目内外配置

Springboot内外部logback多环境配置的示例分析

注意:logback-{xxx}.xml不能直接放在resources目录下,否则logback-test.xml会优先生效。

application.yml指定 activeprofiles

# Spring配置spring:  profiles:    active: test

activeprofiles指定logback-{xxx}.xml

########## logback-{xxx}.xml 文件打包在项目内部 ##########logging:   config: classpath:logback/logback-test.xml########## logback-{xxx}.xml 文件打包在项目外部(去掉classpath) ##########logging:  config: /Users/wangfugui/Downloads/logback/logback-test.xml

logback-{xxx}.xml

<?xml version="1.0" encoding="UTF-8"?><configuration>    <!--************************** 测试环境 ****************************-->    <!-- 日志根路径(绝对路径) -->    <!--    <property name="log.basePath" value="/Users/wangfugui/Downloads/appname"/>-->    <!-- 日志根路径(相对路径),如果使用外部 Tomcat,则日志会在bin目录,需要加../ -->    <property name="log.basePath" value="logs-test"/>    <!-- 日志存放路径 -->    <property name="log.path" value="/" />    <!-- 不同的appender,统一日志输出格式 -->    <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />    <!-- 控制台输出 -->    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">        <encoder>            <pattern>${log.pattern}</pattern>        </encoder>    </appender>    <!-- INFO日志输出 -->    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>${log.basePath}/${log.path}/sys-info.log</file>        <!-- 循环政策:基于时间创建日志文件 -->        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!-- 日志文件名格式 -->            <fileNamePattern>${log.basePath}/${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>            <!-- 日志最大的历史 60天 -->            <maxHistory>60</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>    <!-- ERROR日志输出 -->    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>${log.basePath}/${log.path}/sys-error.log</file>        <!-- 循环政策:基于时间创建日志文件 -->        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!-- 日志文件名格式 -->            <fileNamePattern>${log.basePath}/${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>            <!-- 日志最大的历史 60天 -->            <maxHistory>60</maxHistory>        </rollingPolicy>        <encoder>            <pattern>${log.pattern}</pattern>        </encoder>        <filter class="ch.qos.logback.classic.filter.LevelFilter">            <!-- 过滤的级别 -->            <level>ERROR</level>            <!-- 匹配时的操作:接收(记录) -->            <onMatch>ACCEPT</onMatch>            <!-- 不匹配时的操作:拒绝(不记录) -->            <onMismatch>DENY</onMismatch>        </filter>    </appender>    <!-- 自定义appender:用户访问日志输出  -->    <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>${log.basePath}/${log.path}/sys-user.log</file>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <!-- 按天回滚 daily -->            <fileNamePattern>${log.basePath}/${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>            <!-- 日志最大的历史 60天 -->            <maxHistory>60</maxHistory>        </rollingPolicy>        <encoder>            <pattern>${log.pattern}</pattern>        </encoder>    </appender>    <!-- 自定义appender :日志级别控制 -->    <logger name="sys-user" level="info">        <appender-ref ref="sys-user"/>    </logger>    <!-- 当前系统全局 :日志级别控制  -->    <logger name="com.example" level="info" />    <!-- 第三方系统:Spring日志级别控制  -->    <logger name="org.springframework" level="warn" />    <!-- 第三方系统:关闭kafka日志 -->    <!--<logger name="org.apache.kafka" level="off"/>-->    <!-- 单独指定控制台打印级别 -->    <root level="info">        <appender-ref ref="console" />    </root>    <!-- 指定上面appender的日志打印级别 -->    <root level="info">        <appender-ref ref="file_info" />        <appender-ref ref="file_error" />    </root></configuration>

三、使用自定义appender

使用Lombok
Lombok 内置 @Slf4j 、@Log4j2 两种日志注解。

@Log4j2(topic = "sys-user")@Slf4j(topic = "sys-user")

不使用Lombok

Logger logger = LoggerFactory.getLogger("sys-user");

四、logback查找配置源码

org.springframework.boot.logging.logback.LogbackLoggingSystem

    protected String[] getStandardConfigLocations() {        return new String[]{"logback-test.groovy", "logback-test.xml", "logback.groovy", "logback.xml"};    }

感谢各位的阅读!关于“Springboot内外部logback多环境配置的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Springboot内外部logback多环境配置的示例分析

本文链接: https://www.lsjlt.com/news/307363.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springboot内外部logback多环境配置的示例分析
    这篇文章给大家分享的是有关Springboot内外部logback多环境配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、概述SpringBoot官方文档Springboot 默认读取的是项目内的 ...
    99+
    2023-06-26
  • Springboot内外部logback多环境配置详解
    目录一、概述二、项目内外配置三、使用自定义appender四、logback查找配置源码五、案例源码一、概述 SpringBoot官方文档Springboot 默认读取的是项目内的 ...
    99+
    2022-11-13
  • Admin - SpringBoot + Maven多启动环境配置的示例分析
    小编给大家分享一下Admin - SpringBoot + Maven多启动环境配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:父级pom.xml...
    99+
    2023-06-14
  • Springboot多环境开发的示例分析
    这篇文章主要介绍了Springboot多环境开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概述Springboot在不同的阶段运行,所使用的环境可能不一样比如在...
    99+
    2023-06-29
  • Spring boot外部配置的示例分析
    这篇文章给大家分享的是有关Spring boot外部配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言在项目中为了灵活配置,我们常采用配置文件,常见的配置文件就比如xml和properties,sp...
    99+
    2023-05-30
    springboot
  • webpack和react环境配置的示例分析
    这篇文章主要介绍webpack和react环境配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!webpack 基本安装开始前还是万万不能缺少的安装:npm install...
    99+
    2022-10-19
  • Python配置环境变量的示例分析
    这篇文章主要介绍了Python配置环境变量的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、概述前提:已安装 Python,如下图所示:1.1 检查是否已配置成功(...
    99+
    2023-06-15
  • webpack4.x开发环境配置的示例分析
    这篇文章将为大家详细讲解有关webpack4.x开发环境配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:一、全局安装webpack如果我们按照旧版本...
    99+
    2022-10-19
  • Linux中环境变量配置文件的示例分析
    这篇文章主要介绍Linux中环境变量配置文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重...
    99+
    2023-06-13
  • 微信小程序Server端环境配置的示例分析
    小编给大家分享一下微信小程序Server端环境配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序Server...
    99+
    2022-10-19
  • Vue前端生产环境发布配置的示例分析
    小编给大家分享一下Vue前端生产环境发布配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一,资源文件发布配置一般项目...
    99+
    2022-10-19
  • Maven环境安装配置和新建项目的示例分析
    这篇文章主要介绍Maven环境安装配置和新建项目的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 Maven是什么?Apache Maven 是一种用作软件项目管理和理解工具。它基于项目对象模型(POM)的...
    99+
    2023-06-22
  • 微信小程序云开发之环境配置的示例分析
    小编给大家分享一下微信小程序云开发之环境配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下注意:小程序云开...
    99+
    2022-10-19
  • Java Web应用开发环境配置Eclipse+Tomcat+Myeclispe的示例分析
    这篇文章给大家分享的是有关Java Web应用开发环境配置Eclipse+Tomcat+Myeclispe的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Java环境安装下载j2sdk-1_4_2_13...
    99+
    2023-06-03
  • Java Web应用开发环境配置Eclipse+Tomcat+Lomboz的示例分析
    这篇文章主要介绍Java Web应用开发环境配置Eclipse+Tomcat+Lomboz的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! Java环境安装下载j2sdk-1_4_2_13-windows-i...
    99+
    2023-06-03
  • Ubuntu中环JDK环境变量配置以及MySQL、Samba安装的示例分析
    这篇文章主要为大家展示了“Ubuntu中环JDK环境变量配置以及MySQL、Samba安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ubuntu中...
    99+
    2022-10-19
  • vue中vue-cli3环境配置和模拟json数据的示例分析
    这篇文章主要介绍vue中vue-cli3环境配置和模拟json数据的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、安装步骤以前是npm install ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作