logback.xml日志文件配置说明

2023-10-26

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!-- 说明:
     1、日志级别及文件
          日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中
          例如:error级别记录到xxx_error.log(当前日志文件)或xxx_error-xxx.log(归档日志文件)
          日志文件按日期记录,同一天内,若日志文件大小等于或大于1M,则按0、1、2....顺序分别命名
          例如xxx-level-2019-05-08.0.log
          其它级别的日志也是如此。
     2、文件路径
          绝对路径:/springboottest/logs
     3、Appender
          Console将日志信息输出到控制上,为方便开发测试使用
          FileInfo对应info级别,文件名以xxx_info.log形式命名
          FileWarn对应warn级别,文件名以xxx_warn.log形式命名
          FileError对应error级别,文件名以xxx_error.log形式命名
-->
<configuration>
    <!-- 全局参数 -->
    <property name="CHARSET_UTF8" value="UTF-8"/>
    <property name="LOG_PATH" value="/springboottest/logs"/>
    <property name="LOG_NAME" value="springboottest"/>
    <property name="FILE_NAME" value="${LOG_PATH}/${LOG_NAME}"/>
    <property name="FILE_NAME_INFO" value="${LOG_PATH}/%d{yyyy-MM-dd}/${LOG_NAME}_info"/>
    <property name="FILE_NAME_WARN" value="${LOG_PATH}/warn/${LOG_NAME}_warn"/>
    <property name="FILE_NAME_ERROR" value="${LOG_PATH}/error/${LOG_NAME}_error"/>
    <property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS} [%level] --- [%thread] %logger.%method:%L | %msg%n"/>
    <!-- 彩色日志格式 -->
    <property name="COLORS_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){cyan}[%L] %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    <!-- 彩色日志依赖的渲染类 -->
    <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"/>

    <!-- 输出到控制台 -->
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 此日志appender是为开发使用,只配置最低级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <encoder>
            <pattern>${COLORS_LOG_PATTERN}</pattern>
            <!-- 设置字符集 -->
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
    </appender>

    <!-- 时间滚动输出INFO级别的日志 -->
    <appender name="FileInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_info.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录info级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>info</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_INFO}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 时间滚动输出WARN级别的日志 -->
    <appender name="FileWarn" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_warn.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录warn级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>warn</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_WARN}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 时间滚动输出ERROR级别的日志 -->
    <appender name="FileError" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 正在记录的日志文件的路径及文件名 -->
        <file>${FILE_NAME}_error.log</file>
        <!-- 追加方式记录日志 -->
        <append>true</append>
        <!-- 日志文件输出格式 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
            <charset>${CHARSET_UTF8}</charset>
        </encoder>
        <!-- 此日志文件只记录error级别的 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 每天日志归档路径以及格式 -->
            <fileNamePattern>${FILE_NAME_ERROR}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>

            <!-- 日志文件保留天数 -->
            <maxHistory>15</maxHistory>
        </rollingPolicy>
    </appender>

    <!-- 过滤掉Spring的一些无用的Debug信息 -->

    <logger name="org.springframework" level="info" additivity="false">
        <appender-ref ref="Console"/>
    </logger>
    <root level="info">
        <appender-ref ref="Console"/>
        <appender-ref ref="FileInfo"/>
        <appender-ref ref="FileWarn"/>
        <appender-ref ref="FileError"/>
    </root>
</configuration>
 

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

logback.xml日志文件配置说明 的相关文章

  • 解密java中使用openssl加密的文件

    使用以下命令对文件进行加密 openssl enc aes 256 cbc in file txt out file enc txt k 1234567812345678 使用以下命令解密该文件 openssl enc d aes 256
  • 单击时更改 TextView 的背景颜色

    我需要更改 TextView 的背景颜色 使用 ColorStateList 我可以更改字体颜色 但背景颜色不接受 ColorStateList lblEtiqueta setTextColor new ColorStateList new
  • 如何启动第二个 Java 进程?

    如何启动第二个独立于平台的 Java 进程 理想情况下 它应该与当前运行的 Java 版本相同 有什么有用的系统属性吗 您可以使用java home系统属性来查找当前的 JVM String jvm new java io File new
  • 如何获取Recyclerview特定Item的ViewHolder

    有没有办法获得ViewHolder仅基于给定位置的回收者视图的特定项目 就像是getViewHolder position public MyViewHolder getViewHolder int position MyViewHolde
  • Spring boot,禁用测试安全性

    我使用 Spring Boot 版本 1 3 0 M5 我也尝试过版本 1 2 5 RELEASE 我添加了弹簧安全
  • JPA Criteria API:用于可选关系的 LEFT JOIN

    我基本上是第一次使用 Criteria API 这是关于抽象通用构建器的查询 public TypedQuery
  • 更改 Android 操作栏菜单项的点击图标

    我正在使用 Sherlock 操作栏 我的操作栏上有 2 个项目 当选择该项目 活动 时 我想更改图标的图像 这是我的Java代码 Override public boolean onPrepareOptionsMenu Menu menu
  • 如何使用端口 1025-5000 作为临时端口来解决 WinXP 问题?

    如果您使用端口 0 而不是非零端口创建 TCP 客户端套接字 则操作系统会为您选择任何空闲的临时端口 大多数操作系统选择临时端口IANA 动态端口范围 http www iana org assignments port numbers49
  • 如何将子集合添加到 Firebase Cloud Firestore 中的文档

    该文档没有任何有关如何将子集合添加到文档的示例 我知道如何将文档添加到集合以及如何将数据添加到文档 但是如何将集合 子集合 添加到文档 难道不应该有这样的方法 dbRef document example addCollection sub
  • Java中如何正确计算字符串的长度?

    我知道有String length以及其中的各种方法Character它或多或少适用于代码单元 代码点 Java 中实际返回 Unicode 标准指定的结果的建议方法是什么 UAX 29 http www unicode org repor
  • Java中如何设置背景图片?

    我正在使用 Java 使用 BlueJ 作为 IDE 开发一个简单的平台游戏 现在 我在游戏中使用多边形和简单形状绘制了玩家 敌人精灵 平台和其他物品 最终我希望用实际图像替换它们 现在我想知道将图像 URL 或来自本地源 设置为游戏窗口
  • 当给定距起点的距离时,找到贝塞尔曲线上的点?

    我创建了一条 4 点贝塞尔曲线和一个距离 从起点开始 如何找到距起点一定距离的点的 x y 坐标 我查看了其他示例 据我所知 他们通过将曲线划分为几千个点 然后找到最近的点来近似值 这对我不起作用 对于我正在做的事情 我希望精确到小数点后两
  • 用于图像中文本检测的霍夫变换算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 霍夫变换算法是用于文本行检测和边缘检测的算法之一 霍夫变换算法可以用于检测图像中的文本吗 这道题在java中的流程或者实现应该是怎样的
  • 从 URL 中删除特殊字符

    我想删除网址中的任何特殊字符 我尝试使用 StringEscapeUtils 类来删除特殊字符 但那没有用 例如 http 3A 2Ffeeds feedburner com 2FNdtvNews TopStories 欢迎任何想法 我过去
  • 如何在 logback 自动加载 logback.xml 之前定义 logback 变量/属性?

    我的公司有一个环境管理工具 使您能够使用 Java 以编程方式从环境中查找属性 我想利用这个工具来配置 logback 例如 假设我有一个 logback xml 如下 特别是文件附加器部分
  • 在 Mule 中测试子流程

    我已经开始为我的 Mule 项目编写测试用例 我为我的主流程编写了功能测试用例 如下所示 public void testMainFlow 1 throws Exception MuleClient client muleContext g
  • 如何在 Mac OS X 上为 Java 应用程序启用视网膜模式

    我想画完整的OSX 视网膜 http www apple com iphone features retina display html从 IDE 调试期间 Java Swing 应用程序中的解决方案 我怎样才能做到这一点 当我从 IDE
  • LibGDX FreeTypeFontGenerator NoSuchField 异常

    现在 我正在使用 Java 中的 LibGDX 构建一个小游戏 并且我想使用 TTF 字体 我已将 gdx freetype jar 和 gdx freetype natives jar 添加到我的构建路径中 但是当我开始运行我的应用程序时
  • Spring @Autowired RestTemplate 为 null [重复]

    这个问题在这里已经有答案了 我是春天的新手 我使用 Java 开发使用带证书的 RESTful 服务的服务 这是我的配置类 package configuration import org apache http client HttpCl
  • 为什么这个 Spring Boot Web 应用程序不需要 @Repository?

    我正在学习 Spring Boot 和 JPA Spring Data Rest H2 数据库 并且我找到了一个教程 我试图理解它 这是一个简单的例子 但我不明白一些东西 为什么没有必要放 Repository or Component在

随机推荐

  • python传奇自动打怪脚本_传奇自动刷怪脚本,节省服务器资源

    传奇自动刷怪脚本 节省服务器资源 人到怪到 人走怪没 节省服务器资源哦 main if checkhum d716 1 checkmonmap d716 20 act goto exit elseact goto shuaguai shua
  • C# 基本语法 char数据类型

    参见 Visual C 程序设计基础教程 P21 字符数据类型char用来处理Unicode字符 Unicode是16位字符 char变量以无符号16位字符 2字节 数字的形式存储 取值范围为0到65535 每一个数字代表一个Unicode
  • 二元回归模型matlab代码,多元线性回归Matlab代码

    多元线性回归 b 回归系数 bint 回归系数的置信度为95 的置信区间 r 残差 rint 各残差的置信区间 stats 用于检验回归模型的统计量 有四个数值 相关系数R 2 F值 与F对应的概率p 误差方差 相关系数R 2越接近1 说明
  • 标题:SDXL0.9技术详解:图像生成的新高度

    摘要 本文首先概述了图像生成模型SDXL0 9的特点 它相较早期模型显著提高了参数量级 采用云计算资源进行训练 进行知识图谱预训练以及优化了模型结构 文章然后介绍了SDXL0 9在图像质量 生成速度 语义一致性等指标上的进步 在技术原理上
  • excel快速填充并与上面的单元格内容一致(想要的结果如下图)

    1 选中单元格 2 按F5 点击 定位条件 再点击 空值 3 输入 上一个单元格 本例中就是 A1 4 Ctrl Enter 在这里插入图片描述
  • dedecms后台修改“系统基本参数”无效

    安装完dedecms的一些网站模板后 还原备份数据 系统基本参数也将会自动还原 能在 系统设置 下的 系统基本参数 里看到 但是 我遇到的情况是 无论怎么在系统基本参数里修改内容 更新系统缓存 都没能生效 后来通过直接修改代码实现 方法如下
  • 2020-03-05T06:26:07.000+0000

    JAVA JSON传输过程中时间问题 2020 03 05T06 26 07 000 0000转换成正常格式 2020 03 05 14 28 39 SimpleDateFormat sdf new SimpleDateFormat yyy
  • c语言比double精度更高的数据类型_数制与数据类型

    了解数制的分类 熟悉数据类型的分类 掌握整型数据类型的使用方法 掌握浮点型数据类型的使用方法 掌握字符型数据类型的使用方法 掌握不同数据类型之间的转化规则 掌握使用typedef定义类型的方法 二进制 八进制 十六进制 数制间的转换 二进制
  • SPI基础概念

    文章目录 目的 物理接线 极性和相位 信号时序 总结 目的 SPI Serial Perripheral Interface 是一种非常常用的全双工接口 这个接口在非常简单的机制下达到了比较高的通讯速度 比它通讯速度更高的常见的要不是并口
  • Qt 之 信号参数为QSharedPointer 智能指针类型

    文章目录 智能指针作为信号参数 再谈QSharedPointer Demo 1 Demo 2 智能指针作为信号参数 connect a module to the event bus Q DECLARE METATYPE QSharedPo
  • 【宝塔】centos7 如何简单安装nacos

    前言 宝塔如何安装 请访问 宝塔官方网址 https www bt cn new download html 进行安装 宝塔 宝塔页面 安装docker 查看示例图 登录宝塔页面后台 直接点击安装 等等就按着成功了 宝塔页面 安装nacos
  • 某个网站打不开,其他网站正常的原因及解决办法

    检测网站是否适应了cdn加速 可以在命令行中输入nslookup ip地址 nslookup http www 360doc com 如果address的值是多个 就证明使用了cdn加速 可以使用cdn检测工具检测各地使用cdn加速后网络情
  • mysql references关键字_mysql--一些关键字

    primary key 和unique key 在实际工作中 查看表设计总能看到这样的情况 一个primary 一个unique 还有一个key CREATE TABLE user id int 11 NOT NULL AUTO INCRE
  • 智能RFID电动车防盗管理系统解决方案

    一 RFID城市电动自行车技术诞生 随着城市经济的快速发展 电动自行车作为大众百姓日常出行的主要交通工具 数量急速增多 据统计 至2015年底全国电动自行车保有量已超过2亿辆 并且还以每年2000千万辆的速度增长 这方便民众出行的同时 也给
  • plsql替换

    s select from wh where dl delete from up update set aw a where 1 1 and sf select t rowid from srf select a rowid a from
  • React 性能优化,你需要知道的几个点

    转自于 https www jianshu com p 333f390f2e84 写了一段时间的react之后 渐渐的喜欢上了使用react来写应用 我们知道 Facebook在推出react时打出的旗号之一就是高性能 今天我们还一起来聊一
  • Python 手把手实现M3U8视频抓取

    声明 本文只作学习研究 禁止用于非法用途 否则后果自负 如有侵权 请告知删除 谢谢 此案例比较适合新手学习JS逆向 引言 本文出自微信公众号 Python三剑客 作者 阿K 阅读时长 5min 留言 文章输出我一直贯彻着即拿即用的方式为大家
  • java错误-The prefix "aop" for element "aop:aspectj-autoproxy" is not bound.

    配置springmvc的aop时出错 当我向配置文件中添加
  • web安全的漏洞种类

    SQL注入 SQL注入 SQL Injection 是一个常见的发生于应用程序和数据库之间的web安全漏洞 由于在开发过程中的设计不当导致程序中忽略了检查 没有有效的过滤用户的输入 是攻击者可以向服务器提交不正常的访问数据 即恶意的的SQL
  • logback.xml日志文件配置说明