首页 > 其他分享 >springboot+logback日志配置

springboot+logback日志配置

时间:2023-02-24 17:35:58浏览次数:32  
标签:springboot MM dd .% yyyy HH 日志 logback LOG

<?xml version="1.0" encoding="UTF-8"?>
<!--
    scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
    scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
                当scan为true时,此属性生效。默认的时间间隔为1分钟。
    debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!--日志上下文名称-->
    <property name="LOG_CONTEXT_NAME" value="springboot"/>
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="logs/${LOG_CONTEXT_NAME}" />
    <!-- 定义日志上下文的名称 -->
    <contextName>${LOG_CONTEXT_NAME}</contextName>
    <!-- 控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%boldYellow(%thread)] %highlight(%-5level) %boldGreen(%logger{56}.%method:%L) - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="file.all" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 追加日志到原文件结尾 -->
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名 每小时生成日志文件-->
            <FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/${LOG_CONTEXT_NAME}.%d{yyyy-MM-dd-HH}.%i.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 除按日志记录之外,还配置了日志文件不能超过10M(默认),若超过10M,日志文件会以索引0开始, -->
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %method 方法名  %L 行数 %msg:日志消息,%n是换行符-->
            <pattern> %d{yyyy-MM-dd HH:mm:ss.SSS} [%boldYellow(%thread)] %highlight(%-5level) %boldGreen(%logger{56}.%method:%L) - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>

    <!-- 日志信息异步输出配置-->
    <appender name="file.async" class="ch.qos.logback.classic.AsyncAppender">
        <!--默认情况下,当blockingQueue的容量高于阈值时(80%),会丢弃TRACT、DEBUG、INFO级别的日志。如果不希望丢弃日志(既每次都全量保存),那可以设置为0-->
        <discardingThreshold>0</discardingThreshold>
        <!--默认情况下,队列的深度为256,不过该值首次建议设置大一些,后续根据自己业务的特点去调优。注意:该值会影响性能-->
        <queueSize>256</queueSize>
        <includeCallerData>true</includeCallerData>
        <!--添加需要异步输出appender,只能添加一个-->
        <appender-ref ref="file.all" />
    </appender>

    <!--  日志输出级别 -->
    <!-- TRACE\DEBUG\INFO\WARN\ERROR\FATAL\OFF -->
    <root level="INFO">
        <appender-ref ref="file.async"/>
        <appender-ref ref="console" />
    </root>

</configuration>

标签:springboot,MM,dd,.%,yyyy,HH,日志,logback,LOG
From: https://www.cnblogs.com/doushaohu/p/17152280.html

相关文章

  • 【笔记】springboot使用Spring-data-jpa
    Spring-data-jpaSpring-data-jpa依赖于Hibernate。通过整合Hibernate之后,我们以操作Java实体的⽅式最终将数据改变映射到数据库表中。添加依赖:<dependency<groupId......
  • idea 中 springboot项目多实例运行(services窗口)
    1.调出services窗口2.选中要运行的项目,copyConfiguration..3.编辑弹出窗口edit configuration(指定端口的命令--server.port=6004,最前面是两个短横岗 3.运行......
  • SpringBoot大文件上传解决方案
    ​前言 文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个......
  • windows安装syslog日志转发客户端
    一、安装nxlog下载地址 https://nxlog.co/products/nxlog-community-edition/download二、配置windwos的日志客户端,客户端主要做的是配置监听端口,决定采用TCP还是UDP方......
  • SpringBoot 集成多个rabbitmq
    1.pom.xml配置<!--RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>......
  • 通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数
    0x01环境介绍WindowsServer2012已经安装部署好了域控,目的除了收集Windows服务器本身的日志外还收集域控环境下的各种日志。0x02Nxlog配置和使用使用社区版本即可,......
  • Go的日志库Logrus
    一logrus介绍文章转载于:https://www.cnblogs.com/liuqingzheng/p/16244545.html1.1log标准库优缺点优点Go标准库的log日志库非常简单可以便设置任何io.Writer作......
  • SpringBoot 集成 MybatisPlus
    MybatisPlus是Mybatis的升级版本,是对Mybatis的简化,因为他们的口号就是“为简化开发而生”。1、创建数据表CREATETABLE​​User​​(​​id​​INTNOTNULL,​​us......
  • 机器学习日志 泰坦尼克号获救预测 决策树
    我是链接第一次做机器学习的题目题目要求:给定一堆已知的泰坦尼克号船员信息,每个人的信息包括PassengerId=>乘客IDPclass=>客舱等级(1/2/3等舱位)Name=>乘客姓名......
  • springboot集成flume实现多系统日志收集
    本次demo实现的功能:使用flume框架收集目标工程的日志信息,并发送到kafka,最终完成kafka的消费1、配置工程配置logback:<!--此处为flume日志采集的配置--><appende......