3.6 KiB
3.6 KiB
logback的基础使用演示
jar文件下载
logback: https://repo1.maven.org/maven2/ch/qos/logback/
slf4j: https://repo1.maven.org/maven2/org/slf4j/
下载后的jar文件: logback-classic-1.2.9.jar
,logback-core-1.2.9.jar
,slf4j-api-1.7.9.jar
配置文件
本次演示的版本为1.2.9,如果您使用的是更高版本的jar文件,那么需要将配置进行规范化一些,在官网可以使用一键转换进行互转,地址如下 :
https://logback.qos.ch/translator/dsl/xml2Canon/asHTML
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义变量 日志输出路径-->
<property name="log.path" value="/var/me/logback" />
<!--将日志输出到控制台-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<!--将日志输出到一个完整的文件-->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${log.path}/myApp.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<!--将日志输出到可切分的文件-->
<appender name="ROLL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/roll-back.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logback.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--根节点的输出日志定义-->
<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="ROLL_FILE" />
</root>
<!--自定义输出日志,该日志会继承<root>节点的appender,如果自己在添加appender会输出双份日志-->
<logger name="custom" level="error" />
</configuration>
配置说明
configuration 节点配置
<!-- scan:程序运行时配置文件被修改,是否重新加载。true=重新加载;false=不重新加载;默认为true; -->
<!-- scanPeriod:监测配置文件被修改的时间间隔,scan属性必须设置为true才可生效;默认为1分钟,默认单位是毫秒; -->
<!-- debug:是否打印logback程序运行的日志信息。true=打印;false=不打印;默认为false; -->
<configuration scan="true" scanPeriod="60" debug="false">
</configuration>
主要配置
Logger,Appenders 与 Layouts
- Logger 日志记录器 - 日志输出时%logger输出的名称/类路径
- Appender 输出源 - 输出源是日志最终输出的地方,有三种可以使用 控制台(ConsoleAppender),文件(FileAppender),可切分滚动文件(RollingFileAppender)
- Layout(Encoder) 布局 - 日志打印格式 对应标签encoder.pattern
日志级别
TRACE < DEBUG < INFO < WARN < ERROR
logger只允许打印比配置级别更高级的日志
如果想要在控制台打印
WARN
级别的日志,那么在leve中日志级别需要配置为WARN
或INFO
或DEBUG
或TRACE
参考
简书-Logback配置使用