首页 > 其他分享 >记spring boot中基于Logback的常用日志文件配置

记spring boot中基于Logback的常用日志文件配置

时间:2024-12-02 20:45:21浏览次数:10  
标签:xml LOG spring boot yyyy logback PATH Logback

1.默认情况下直接依赖

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.创建一个名为:logback-spring.xml的文件

3.在yml配置文件中激活

注:优先级logback.xml(默认) > logback-spring.xml,如果发现不生效时,检查下配置是否存在覆盖

# logging配置
logging:
  level:
    root: info
  config: classpath:logback-spring.xml

4.下面为可以进行参考的xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
    <contextName>logback</contextName>
    <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
    <property name="LOG_PATH" value="/app/logs/${APP_NAME}"/>

    <!-- 彩色日志(IDE下载插件才可以生效) -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr"
                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>


    <!--输出到控制台 -->
    <appender name="CONSOLE"
              class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--输出到文件 -->

    <!-- 时间滚动输出 所有level 日志 -->
    <appender name="ALL_FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/system_detail.log</file>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <rollingPolicy
                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/detail/system_detail-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 时间滚动输出 level为 ERROR 日志 -->
    <appender name="ERROR_FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/system_error.log</file>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <rollingPolicy
                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/error/system_error-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>30MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>15</maxHistory>
        </rollingPolicy>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!--自定义日志设置-->
    <!--禁用TransLog日志打印-->
    <logger name="TransLog" level="OFF" additivity="false"/>
    <!--禁止ConfigClusterResolver的info级别日志打印-->
    <logger name="com.netflix.discovery.shared.resolver.aws.ConfigClusterResolver" level="WARN" additivity="false"/>

    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="ALL_FILE"/>
        <appender-ref ref="ERROR_FILE"/>
    </root>

</configuration>

 

标签:xml,LOG,spring,boot,yyyy,logback,PATH,Logback
From: https://www.cnblogs.com/mr-tomato/p/18582656

相关文章

  • Bootstrap-Flask的完整开发示例
    下面是一个完整的Bootstrap-Flask示例项目,展示如何结合Flask-WTF和Bootstrap-Flask构建一个带有表单的网页。项目功能1.提供一个简单的用户注册表单。2.使用Flask-WTF定义表单。3.使用Bootstrap-Flask自动为表单和字段应用Bootstrap样式。目录结构boots......
  • springboot毕设 社区活动中心程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,社区作为城市的基本单元,其功能和作用日益凸显。社区活动中心作为连接居民、促进社区和谐发展的重要平台,其建设和运营水平直接关......
  • springboot毕设 汽车4S店试驾维修服务预约系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着汽车行业的蓬勃发展,汽车4S店作为汽车销售与服务的重要平台,面临着日益增长的客户需求和复杂多变的市场环境。传统的服务模式,如到店试驾、维修保养......
  • springboot网络教学管理系统-计算机毕业设计源码40879
    目 录摘要1绪论1.1选题背景与意义1.2开发现状1.3论文结构与章节安排2 开发环境及相关技术介绍2.1MySQL数据库2.2 Tomcat服务器2.3 Java语言2.4 SpringBoot框架介绍3 网络教学管理系统系统分析3.1可行性分析3.1.1技术可行性分析3.1.2 ......
  • springboot婚礼策划主题网站-计算机毕业设计源码41337
    摘要婚礼策划是一个重要的市场,随着人们对于婚礼个性化和专业化需求的增加,基于SpringBoot和APP的婚礼策划主题网站应运而生。SpringBoot作为一种快速开发框架,具有简化配置和高效性能的优势,适用于构建后端系统。而移动APP作为用户界面的载体,提供了便捷的访问和交互体验。通......
  • 基于Bootstrap3的简单柱状图表插件
    jchart是一款简单小巧的基于Bootstrap3.x的jquery柱状图表插件。该柱状图片表插件通过简单的设置,就可以生成非常漂亮的水平柱状图,并带有水平和垂直标签以及图表的头部和尾部。 在线演示  下载使用方法该jQuery柱状图插件可以通过javascript来调用,也可以直接使用HTML标签......
  • springboot和可执行jar包的冲突问题的解决
    场景:有一部分源码需要在两个地方用,  1.第一个地方是springboot发布的server中,作为接口使用  2.第二个地方要打一个jar包能够通过java-jar执行,并且传入参数这两个需求存在冲突点<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boo......
  • spring boot vue3 ngnix 后端接收不到cookie的问题
       1、前端工程,发送request请求的地方,设置   withCredentials:true 2、后端工程:不能使用.allowedOrigins("*")使用这个代替.allowedOriginPatterns("*") 3、拦截器中 4、ngnix配置   最后,前端工程,生产环境配置文件中的,地址,一定......
  • springboot框架下基于Java Web的新能源汽车信息咨询系统设计与实现
    内容概要:本文介绍了基于springboot框架和JavaWeb技术的新能源汽车信息咨询服务的设计与实现。系统采用B/S架构,使用MySQL数据库,旨在提高用户体验,简化管理和操作流程。系统主要功能包括个人信息管理、品牌类别管理、新能源汽车信息展示、汽车订单和配送订单管理等,还增加了首页推......
  • 【SpringCloud】LoadBalancer——服务调用与负载均衡
    基本介绍主要功能:LoadBlancer的主要作用就是提供客户端软件的负载均衡,然后由OpenFeign去调用具体的微服务。负载均衡的算法,分为轮询和随机。使用场景:订单模块的负载均衡。通过消费者模块,访问订单支付模块(子模块8001/8002/8003)例子前提:已经使用了注册服务中心(https://www.cn......