logback配置
Eave
2026.06.02
一、pom.xml文件添加依赖
<!-- logback start -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.18</version>
<scope>compile</scope>
</dependency>
<!-- logback end -->
二、logback.xml配置
<configuration debug="false">
<!-- 日志格式 -->
<property name="path" value="logs" />
<property name="charset" value="UTF-8" />
<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%p]-[%t][%c] %m%n" />
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>${charset}</charset>
<pattern>${pattern}</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径及名称 -->
<file>${path}/info.log</file>
<encoder>
<charset>${charset}</charset>
<pattern>${pattern}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${path}/info-%d{yyyyMMdd}.%i.log</fileNamePattern>
<!-- 存档前,每个日志文件的最大大小(默认值:10MB) -->
<maxFileSize>500MB</maxFileSize>
<!-- 日志文件保存的最大天数(默认值:7) -->
<maxHistory>3</maxHistory>
<!-- 日志文件被删除之前,可以容纳的最大大小(默认值:0B)。设置1GB则磁盘存储超过 1GB 日志后就会删除旧日志文件 -->
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
</appender>
<!-- 日志级别控制 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
三、Pattern打印参数
%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy-MMM-dd HH:mm:ss.SSS}
%r:输出自应用程序启动到输出该log信息耗费的毫秒数
%t:输出产生该日志事件的线程名
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)
%c:输出日志信息所属的类目,通常就是所在类的全名
%M:输出产生日志信息的方法名
%F:输出日志消息产生时所在的文件名称
%L:输出代码中的行号
%m:输出代码中指定的具体日志信息
%n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"
%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%%:输出一个"%"字符