logback 配置文件

日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别如下(级别由低到高):

日志级别 说明 记录方式
trace 追踪,记录程序运行轨迹 【使用很少】 log.trace("...")
debug 调试,记录程序调试过程中的信息,实际应用中一般将其视为最低级别 【使用较多】 log.debug("...")
info 记录一般信息,描述程序运行的关键事件,如:网络连接、io操作 【使用较多】 log.info("...")
warn 警告信息,记录潜在有害的情况 【使用较多】 log.warn("...")
error 错误信息 【使用较多】 log.error("...")

可以在配置文件中,灵活的控制输出那些类型的日志。(大于等于配置的日志级别的日志才会输出)

xml 复制代码
<root level="info">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
</root>

文件如下

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
          <!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%logger显示日志记录器的名称, %msg表示日志消息,%n表示换行符 -->
          <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n</pattern>
       </encoder>
    </appender>

    <!-- 系统文件输出 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
          <!-- 日志文件输出的文件名, %i表示序号 -->
          <FileNamePattern>D:/tlias-%d{yyyy-MM-dd}-%i.log</FileNamePattern>
          <!-- 最多保留的历史日志文件数量 -->
          <MaxHistory>30</MaxHistory>
          <!-- 最大文件大小,超过这个大小会触发滚动到新文件,默认为 10MB -->
          <maxFileSize>10MB</maxFileSize>
       </rollingPolicy>

       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
          <!--格式化输出:%d 表示日期,%thread 表示线程名,%-5level表示级别从左显示5个字符宽度,%msg表示日志消息,%n表示换行符 -->
          <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n</pattern>
       </encoder>
    </appender>

    <!-- 日志输出级别 -->
    <root level="ALL">
       <appender-ref ref="STDOUT" />
       <appender-ref ref="FILE" />
    </root>
</configuration>
相关推荐
小毅&Nora1 分钟前
【Java线程安全实战】② ConcurrentHashMap 源码深度拆解:如何做到高性能并发?
java·安全·多线程
Knight_AL4 分钟前
阿里《Java 开发手册》下的对象构建与赋值规范实践
java·开发语言
嘻哈baby11 分钟前
MySQL远程连接配置与安全实战
后端
小码编匠16 分钟前
工业视觉 C# + OpenCvSharp 的模板匹配实战
后端·c#·.net
步步为营DotNet18 分钟前
深入理解.NET 中的IHostedService:后台任务管理的基石
java·网络·.net
独自破碎E41 分钟前
Leetcode862和至少为K的最短子数组
java·开发语言
To Be Clean Coder44 分钟前
【Spring源码】getBean源码实战(二)
java·后端·spring
程序员爱钓鱼1 小时前
Node.js 编程实战:RESTful API 设计
前端·后端·node.js
程序员爱钓鱼1 小时前
Node.js 编程实战:GraphQL 简介与实战
前端·后端·node.js
washingtin1 小时前
Get “https://registry-1.docker.io/v2/“: context deadline exceeded
java·开发语言