在SpringBoot中可以使用的日志框架有很多,这里选用的是Logback,SpringBoot的version是2.1.7
准备工作
第一步先添加一个依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
在preferences中的Plugins中安装lombok插件(注意一定要安装)
配置方式
Logback有两种配置方式
- 在application.yml中配置,这种方式比较简单
- 新建一个logback-spring.xml进行配置,开发中正常使用这种
application.yml
logging:
pattern:
console: "%d - $msg%n"
path: /Users/whoami/IdeaProjects/sell
file: /Users/whoami/IdeaProjects/sell/sell.log
level:
com.hwy.sell: debug
这里要注意level,后面一定要跟一个具体的类
logback-spring.xml
首先要打xml的头<?xml version="1.0" encoding="utf-8" ?>
然后是<configuration></configuration>,所有的配置信息都在configuration里面写
<appender name="" class="">是一个小的配置
在<root>中的<appender-ref ref=""/>关联配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--path-->
<fileNamePattern>/Users/whoami/IdeaProjects/sell/info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--path-->
<fileNamePattern>/Users/whoami/IdeaProjects/sell/error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
</root>
</configuration>
在<encoder><pattern></pattern><encoder>中设置的是输出格式
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy>设置的是按天输出日志文件
<filter class="ch.qos.logback.classic.filter.ThresholdFilter>设置过滤器,过滤日志的等级
日志的级别:debug<info<warn<Error<Fatal,设置为高级的不会输出低级的信息,比如设置成info那debug的信息就输出不出来