springboot结合日志门面SLF4j和日志实现Logback的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

springboot结合⽇志门⾯SLF4j和⽇志实现Logback的使⽤⼀、此处主要介绍在springboot⼯程下如何使⽤ logback + slf4j 进⾏⽇志记录。

logback主要包含三个组成部分:Loggers(⽇志记录器)、Appenders(输出⽬的在)、Layouts(⽇志输出格式)
slf4j :如jdbc⼀样,定义了⼀套接⼝,是⼀个⽇志门⾯,可实现多个⽇志系统间快速切换(通过修改配置⽂件)
logback :和log4j是同⼀作者,是log4j的升级版,效果可想⽽知.
logback 主要分为三个模块,分别是:
logback-core:提供基础功能,是其他两个模块的基础
logback-classic : log4j的升级,实现了self4j api
logback-access:⽤于与sevlet容器进⾏集成、提供⽹络访问⽇志的功能
⼆、初级⽇志门⾯SLF4j和⽇志实现Logback的使⽤
第⼀步使⽤springboot框架建⽴maven⼯程:
第⼆步在springboot框架的Maven⼯程中导⼊依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
第三步在test/java/com/imooc/新建LoggerTest.java
第⼀种使⽤:
private final Logger logger= LoggerFactory.getLogger(LoggerTest.class); @RunWith(SpringRunner.class)
@SpringBootTest
public class LoggerTest {
private final Logger logger= LoggerFactory.getLogger(LoggerTest.class); @Test
public void test1(){
logger.error("error...");
("info...");
logger.debug("debug...");
}
}
⽇志输出级别:数字越⼤,级别越⾼,优先输出
第⼆种使⽤:
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {
@Test
public void test1(){
String name="yemeng";
String password="123";
("name:{}, password:{}",name,password);
log.error("error");
}
}
三、使⽤配置⽂件
1.application.yml
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://192.168.1.110/sell?characterEncoding=utf-8&useSSL=false
jpa:
show-sql: true
#项⽬路径
server:
context-path: /sell
##⽇志
logging:
#格式
pattern:
#⽇期+信息+换⾏
console: "%d -%msg%n"
#path: /var/log/tomcat/sell.log
#⽇志存储路径
file: /var/log/tomcat/sell.log
#等级
level: #debug
com.imooc.LoggerTest:debug
2.logback-spring.xml
<?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>
%msg%n
</pattern>
</layout>
</appender>
<!-- 输出info⽇志⽂件-->
<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">
<!-- 路径-->
<fileNamePattern>var/log/tomcat/info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!-- 输出error⽇志⽂件-->
<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">
<!-- 路径-->
<fileNamePattern>var/log/tomcat/error.%d.log</fileNamePattern> </rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>。

相关文档
最新文档