springboot默认使用了logback作为日志框架,如果你引入了springbootstart-web模块,那么就不需要额外引入logback的依赖
logback只打印当前级别日志 主要是由于对于appender组件的不熟悉
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%C:%L] - %m%n aaa</pattern>
<charset>utf8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
Appender组件主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、 MySQL、PostreSQL、 Oracle和其他数据库、 JMS和远程UNIX Syslog守护进程等
其中 class
为appender的实现类,对应的有console,fileAppender,RollingFileAppender等等。
encoder
定义了输出的格式 时间 线程 类名 行数 输出内容等等
filter
级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志。有以下子节点:
1. level:设置过滤级别
- onMatch:用于配置符合过滤条件的操作
onMismatch:用于配置不符合过滤条件的操作
例如:将过滤器的日志级别配置为INFO,所有INFO级别的日志交给appender处理,非INFO级别的日志,被过滤掉。
如此 问题就出来了 如果按照我上图的配置 就只会打印DEBUG级别的日志,DEBUG级别以外的日志 都不会打印
还是要注意细节问题。