生产级logback-spring.xml配置明细

2023-11-18


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--
         规则:
            dev 开发环境: 启用实时打印日志,启用p6spy打印sql语句到控制台
            其他环境:  启用异步打印,  禁用p6spy
           %m
           输出代码中指定的消息
           %p
           输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
           %r
           输出自应用启动到输出该log信息耗费的毫秒数
           %c
           输出所属的类目,通常就是所在类的全名
           %t
           输出产生该日志事件的线程名
           %n
           输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
           %d
           输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},
           输出类似:2002年10月18日 22:10:28,921
           %l
        -->
    <springProperty scope="context" name="log.path" source="logging.file.path" defaultValue="./logs"/>
    <springProperty scope="context" name="spring.application.name" source="spring.application.name"/>
    <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active"/>
    <springProperty scope="context" name="log.level.console" source="logging.level.console" defaultValue="INFO"/>
    <springProperty scope="context" name="log.level.dao" source="logging.level.sql" defaultValue="DEBUG"/>
    <springProperty scope="context" name="server.port" source="server.port" defaultValue="0000"/>
    <!-- 彩色日志 -->
    <!-- 彩色日志依赖的渲染类 -->
    <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"/>

    <!-- 彩色日志格式 -->
    <springProperty scope="context" name="common-pattern-color" source="logging.common-pattern-color"
                    defaultValue="[ ${spring.application.name}:${server.port}:${PID}] %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr([%5p ]) %clr([ %t:%r ]){orange} %clr(%-40.40logger{39}){cyan} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
    <springProperty scope="context" name="common-pattern" source="logging.common-pattern"
                    defaultValue="[ ${spring.application.name}:${server.port}:${PID}] %d{yyyy-MM-dd HH:mm:ss.SSS}[%5p ] [ %t:%r ] [ %-40.40logger{39}.%M:%L] %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <contextName>${spring.application.name}-logback</contextName>

    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <jmxConfigurator/>

    <!-- 控制台实时输出,采用高亮语法,用于开发环境 -->
    <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!--            <level>${log.level.console}</level>-->
        </filter>
        <encoder>
            <pattern>${common-pattern-color}</pattern>
        </encoder>
    </appender>
    <!-- 控制台异步实时输出 -->
    <appender name="ASYNC_CONSOLE_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="CONSOLE_APPENDER"/>
    </appender>

    <!-- 整个项目的所有日志, 包括第三方包 -->
    <appender name="ROOT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/${spring.application.name}/root.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 每天一归档 -->
            <fileNamePattern>${log.path}/${spring.application.name}/%d{yyyy-MM}/root-%d{yyyy-MM-dd}-%i.log.gz
            </fileNamePattern>
            <!-- 单个日志文件最多 100MB, 60天的日志周期,最大不能超过20GB -->
            <maxFileSize>128MB</maxFileSize>
            <maxHistory>60</maxHistory>
            <totalSizeCap>20GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${common-pattern}</pattern>
        </encoder>
    </appender>
    <appender name="ASYNC_ROOT_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
        <discardingThreshold>0</discardingThreshold>
        <queueSize>256</queueSize>
        <appender-ref ref="ROOT_APPENDER"/>
    </appender>

    <!-- dao 层日志,用于打印执行的sql  -->
    <appender name="DAO_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/${spring.application.name}/dao.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/${spring.application.name}/%d{yyyy-MM}/dao-%d{yyyy-MM-dd}-%i.log.gz
            </fileNamePattern>
            <maxFileSize>128MB</maxFileSize>
            <maxHistory>60</maxHistory>
            <totalSizeCap>20GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${common-pattern}</pattern>
        </encoder>
    </appender>
    <appender name="ASYNC_DAO_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
        <discardingThreshold>0</discardingThreshold>
        <queueSize>256</queueSize>
        <appender-ref ref="DAO_APPENDER"/>
    </appender>

    <!-- 设置需要打印日志的包及输出级别 -->
    <logger name="com.alibaba.nacos" level="warn" />
    <logger name="com.oit" level="debug" />
    <logger name="com.springframework.security" level="debug" />

    <springProfile name="uat,test,prod">
        <root level="${log.level.console}">
            <appender-ref ref="ASYNC_ROOT_APPENDER"/>
            <appender-ref ref="ASYNC_CONSOLE_APPENDER"/>
        </root>
    </springProfile>

    <!-- 开发环境日志级别 -->
    <springProfile name="dev,local">
        <root level="${log.level.console}">
            <appender-ref ref="CONSOLE_APPENDER"/>
            <appender-ref ref="ROOT_APPENDER"/>
        </root>
    </springProfile>

</configuration>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生产级logback-spring.xml配置明细 的相关文章

随机推荐

  • 费马小定理题

    费马小定理 假如p是质数 且gcd a p 1 那么 A题HDU 4704 首先是挡板法 隔板法 然后用即可 高中数学范围不多叙述 然后得到答案是 这题读入数据大 就算快速幂也肯定TLE 所以用费马小定理 把数据规模降到int 范围内 时间
  • Re: Programming in C with Bluetooth Sockets

    Re Programming in C with Bluetooth Sockets This is the function run by the bluetooth device that will recieve the data c
  • 若依框架注册功能

    后台 逻辑峰的博客 CSDN博客 若依框架登录注册 前台
  • 响应式开发

    响应式开发是指一个网站能够兼容多个终端 不同屏幕分辨率的终端上网页展示方式是不一样的 实现原理 根据用户的行为以及设备的不同 实现页面的不同展示效果 具体的开发过程 1 设置视口标签 width 视口的宽度 device width 设备的
  • Java使用S7协议连接西门子PLC1200、1500

    Java使用S7协议连接西门子PLC1200 1500 1 引入s7包 2 测试代码 可参考使用 1 引入s7包 使用 https github com s7connector s7connector
  • CSDN周赛59期简要题解

    本期题目相对比较友好 而且在比赛报名界面还提示了非编程题考察的章节 诚不欺我 本期非编程题需要选手阅读的章节是第2章 逆向思考 从递推到递归 2 3节 堆栈和队列 遍历的数据结构 选择和判断都考到了栈的数据结构 稍微有点基础知识找出正确答案
  • 21_OpenCV复制矩阵

    本文是关于矩阵复制的相关函数 目录 1 cv repeat 根据需要重复多次复制 2 实现矩阵的转置操作 cv transpose 1 cv repeat 根据需要重复多次复制 函数原型 void cv repeat cv InputArr
  • java.net.SocketTimeoutException: Read timed out问题排查

    欢迎关注博主微信订阅号 问题日志 java sql SQLException I O Error Read timed out at net sourceforge jtds jdbc TdsCore executeSQL TdsCore
  • Windows安装Apache Maven 3.5.4

    一 安装前的准备 1 1 官网下载Apache Maven Maven 3 6 3 此时最新版 的下载地址 https maven apache org download cgi Maven其他版本的下载地址 https archive a
  • 服务器启动显示按f1f2f10,电脑开机提示按f1f2f5 电脑开机要按F1F2F5

    电脑开机要求按F1 F2 F3或F5 有朋友跟我反应说他的XP系统 开机的时候要手动按F1才可以进WIN程序 那怎么改成默认的呢 可以尝试下以下方法 方法一 开启计算机或重新启动计算机后 及时按下 Del 键进入BIOS的设置界面 随便点击
  • Android:JNI与NDK(二)交叉编译与动态库,静态库

    本篇目录 一 前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识 选window系统主要是照顾大多数读者 mac linux操作系统基本是同样适用的 交叉编译就是在A平台编译出可以在B平台执行的文件
  • J-Link仿真器与JTAG和SWD下载与接线

    目录 1 JTAG 1 1JTAG今天被用来主要的三大功能 1 2JTAG引脚 1 3可选引脚 2 SWD 2 1 SWD引脚 2 2 可选择引脚 2 3 JTag和SWD模式引脚定义 3 J Link仿真器 4 IAR与MDK配置两种下载
  • lol服务器位置峡谷之巅,lol峡谷之巅

    英雄联盟峡谷之巅第六赛季的奖励正式的公布了 这次只要排位赛胜场最多的2000名玩家就可以领取到奥术师佐伊至臻的皮肤 很多玩家还不清楚在哪领取峡谷之巅第六赛季的奖励 下面就来为大家分享一下地址 英雄联盟的官方在7月6日的下午5点发布了最新的峡
  • QT入门Buttons之QCheckBox

    目录 一 界面布局介绍 1 布局器中的位置及使用 2 常用属性 二 属性功能介绍 1 常用信号 2 测试信号stateChanged int 3 组合框效果 三 Demo展示 此文为作者原创 转载标明出处 一 界面布局介绍 1 布局器中的位
  • 从一个对象数组中的某一个属性组成新数组,然后比较大小

    需求 从一个对象数组中的某一个属性组成新数组 然后比较大小 示例数组 原始数组 expmArr name zhangsan age 18 name lisi age 20 name wangwu age 17 name zhaoliu ag
  • 编码与调制

    一 信道 信道是信号的传输媒介 一般用来表示向某一个方向传送信息的介质 因此一条通信线路往往包含一条发送信道和一条接收信道 信道根据传输信号分为数字信道 传输数字信号 和模拟信道 传输模拟信号 根据传输介质可分为无线信道和有线信道 同时根据
  • Qt 图片适应QLabel控件大小(饱满缩放和按比例缩放)

    直接上代码 QImage Image Image load d test jpg QPixmap pixmap QPixmap fromImage Image int with ui gt labPic gt width int heigh
  • 【计算机毕业设计】基于微信小程序的流浪动物救助系统 动物领养系统

    毕设帮助 源码交流 技术解答 见文末 一 前言 目前对流浪动物的救助采用的方式非常有限 一般是通过微信群 论坛 贴吧等平台发布流浪动物信息 由其它用户参与救助 这种方式由于没有监控渠道 造成有很多骗子的出现 而且这种方式的宣传力度也不够 经
  • 服务器管理口IP及账号密码(知识汇总)

    HP管理口 ILO 默认用户 密码 Administrator password HP以前管理口登陆MP卡 通过网线连接MP卡的RJ 45口 通过telnet方式登录 默认用户 密码 Admin Admin DELL服务器管理口 idac
  • 生产级logback-spring.xml配置明细