77 lines
3.0 KiB
Markdown
77 lines
3.0 KiB
Markdown
|
## 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
|
|||
|
<?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>
|
|||
|
```
|
|||
|
|
|||
|
### 配置说明
|
|||
|
#### 主要配置
|
|||
|
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配置使用]('https://www.jianshu.com/p/638b4e2c4068')
|