logback-demo/readme.md

77 lines
3.0 KiB
Markdown
Raw Normal View History

2022-06-06 17:08:37 +08:00
## 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>
```
### 配置说明
#### 主要配置
LoggerAppenders 与 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')