在springboot项目中无需引入其它依赖,因为spring-boot-starter依赖中包含了spring-boot-starter-logging。
在resource目录下新建logback.xml文件,如下就可以直接使用了。
<?xml version="1.0" encoding="UTF-8"?>
<!--
debug:当此属性为true时,将打印logback内部日志信息,实时查看logback运行状态,默认为false
scan:当此属性为true时,配置文件如果发生改变将会被重新加载,默认值为true
scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位为毫秒;当scan为true时,此属性生效;默认的时间间隔为1分钟
-->
<configuration debug="false" scan="true" scanPeriod="60 seconds">
<!--上下文名称-->
<contextName>logback</contextName>
<!--定义日志文件路径,可以是绝对路径(以/开头,/home/app/logs),也可以是相对路径(app/logs)-->
<property name="logPath" value="logs"/>
<!--定义日志文件名称-->
<property name="logName" value="test"/>
<!--
定义日志格式
%d:时间,其它时间格式-> %d{yyyy-MM-dd HH:mm:ss.SSS} %d{yyyy-MM-dd}
%-5level:日志级别
%thread:线程名
%logger{50}:日志发生类全类名,最长50个字符
%line:行号
%msg:日志信息
%n:换行
-->
<property name="logPattern" value="%d [%thread] %-5level %logger{50} %line - %msg%n"/>
<!--输出控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--输出格式-->
<pattern>${logPattern}</pattern>
</encoder>
</appender>
<!--输出到文件,时间滚动输出-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件名-->
<file>${logPath}/${logName}.log</file>
<!--日志记录器的滚动策略,按日期记录-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--前一天日志文件对应的文件名-->
<fileNamePattern>${logPath}/${logName}-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<!--输出格式-->
<pattern>${logPattern}</pattern>
</encoder>
</appender>
<!-- level 输出日志级别,想要输出到控制台或文件必须在下面引用 -->
<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
</configuration>
使用@Slf4j注解
@Slf4j注解有什么用呢?
一般用日志时,需要在类中写
加上这个注解就无需再写这行代码了。
1. IDEA需要安装Lombok插件,新版本IDEA会自带这款插件
2. 导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
导入依赖时可能会出现如下问题,原因可能是导入lombok版本和插件版本不一致,修改版本号解决
如下图,代码中加上注解就可以直接使用了