springBoot中Logback日志的使用

来源:互联网 发布:淘宝有杰克琼斯么 编辑:程序博客网 时间:2024/06/06 08:27

1、lombok工具的使用

1、未使用lombok之前的测试类如下:

package com.imooc.sell;import org.junit.Test;import org.junit.runner.RunWith;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)@SpringBootTestpublic class LoggerTest {    //引入日志    private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);    @Test    public void test1() {        logger.info("info....");        logger.debug("debug....");        logger.error("error....");    }}

2、在pom.xml文件中加入lomback依赖后,代码如下:

package com.imooc.sell;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)@SpringBootTest//增加该注解@Slf4jpublic class LoggerTest {    @Test    public void test1() {        //直接使用log对象打印日志        log.info("info log....");        log.debug("debug log....");        log.error("error log....");    }}

2、日志的配置

1、application.yml配置(简单,功能单一):

spring:  datasource:    driver-class-name: com.mysql.jdbc.Driver    username: root    password: 123456    url: jdbc:mysql://192.168.19.69/sell?characterEncoding=utf-8&useSSL=false  jpa:    show-sql: trueserver:  context-path: /wyh_sell##############日志相关信息配置##############logging: # 配置日志的格式  pattern:    console: "%d - %msg%n"  # 配置日志的输出路径(默认是spring.log)  path:  D:/log  # 指定将日志输出到某个文件中(file和path取其中一个即可)  file:  D:/log/shell.log  #级别  level: debug

2、logback-spring.xml配置(复杂,功能强大):

<?xml version="1.0" encoding="UTF-8" ?><configuration>    <!--第一个配置项:这里是日志输出格式-->    <appender name="consoleLogger" class="ch.qos.logback.core.ConsoleAppender">        <layout class="ch.qos.logback.classic.PatternLayout">            <pattern>                %d - %msg%n            </pattern>        </layout>    </appender>    <!--第二个配置项:将info日志输出到哪个info文件中-->    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">        <!--只保存info类型的日志-->        <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>D:/log/info.%d.log</fileNamePattern>        </rollingPolicy>    </appender>    <!--第三个配置项:将日志输出到哪个错误日志文件中-->    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">        <!--只保存error类型的日志-->        <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>D:/log/error.%d.log</fileNamePattern>        </rollingPolicy>    </appender>    <!--引用哪个配置-->    <root level="info">        <appender-ref ref="consoleLogger"/>        <appender-ref ref="fileInfoLog"/>        <appender-ref ref="fileErrorLog"/>    </root></configuration>