日常开发中,有时候引入一些第三方的Jar包或者Java类,这些类会打印很多没用的日志,看着比较凌乱。这个时候,我们可以通过配置logback.xml
来关闭某个java类的日志输出。
核心代码其实就一行,其中org.ansj
就是你要禁止输出日志的java包:
<logger name="org.ansj" level="off" />
有些朋友可能不知道这行代码加在哪里。这行代码要放在logback.xml
这个springboot的日志配置文件里(文件名在springboot的application.properties中可以配置,也许是其他名字,看你的配置),一个完整的logback.xml
文件的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 文件输出格式 -->
<property name="PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} %level [%thread] - %class{36}.%M %L - %msg%n"/>
<!-- test文件路径 -->
<property name="FILE_PATH" value="logs"/>
<!-- 每天产生一个文件 -->
<appender name="coderbbb_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${FILE_PATH}/coderbbb.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 文件名称 -->
<fileNamePattern>${FILE_PATH}/coderbbb.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 文件最大保存历史数量 -->
<MaxHistory>30</MaxHistory>
<maxFileSize>50MB</maxFileSize>
</rollingPolicy>
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="org.springframework" level="info"/>
<logger name="druid.sql" level="error"/>
<logger name="org.apache" level="error"/>
<logger name="org.ansj" level="off" />
<root level="info">
<appender-ref ref="coderbbb_FILE"/>
</root>
</configuration>
上面的logback.xml
配置文件还实现了一些其他实用的功能,这里简单列一下,有需要的可以复制拿走:
- 自定义日志输出格式
- 日志文件自动根据大小切分,避免单个日志文件太大,打开太卡
- 自定义日志文件保存个数和最多保存几天
- 自定义不同的java包的日志输出级别:
ERROR
、WARN
、INFO
、OFF
等