您当前的位置: 首页 >  spring

white camel

暂无认证

  • 0浏览

    0关注

    442博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

日志系统(6) : SpringBoot日志实现、Logback切换为Log4j2

white camel 发布时间:2022-03-31 23:33:05 ,浏览量:0

SpringBoot日志实现
  • SpringBoot是现今市场上最火爆用来简化spring开发的框架,springboot日志也是开发中常用的日志系统。
  • SpringBoot 默认就是使用SLF4J作为日志门面,Logback作为日志实现来记录日志。
入门案例
// application.properties文件

logging.level.com.guizy=trace
logging.pattern.console=%d{yyyy-MM-dd} [%level] -%m%n

logging.file.path=/Users/guizhaoyang/Desktop/springboot_log
package com.guizy.springboot_log;

import org.apache.logging.log4j.LogManager;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringBootLogApplicationTests {

    @Test
    public void test01() {
        /*
            入门案例
                SpringBoot日志具体实现
                级别测试
                默认是info级别;
                logback的风格输出, (Springboot默认采用的是slf4j+logback作为日志实现)
         */
        Logger logger = LoggerFactory.getLogger(SpringBootLogApplicationTests.class);
        logger.error("error信息");
        logger.warn("warn信息");
        logger.info("info信息");
        logger.debug("debug信息");
        logger.trace("trace信息");
    }

    @Test
    public void test02() {
        /*
            在spring-boot-starter-web依赖图中,观察到除了logback实现,还依赖了jul,log4j2等日志实现的桥接器
            使用log4j2的日志实现, 观察桥接器是否起作用
            通过观察日志信息,发现扔使用的是slf4j+logback来实现的;说明桥接器起了作用;通过log4j+桥接器来实现了slf4j+logback的方式
         */
        org.apache.logging.log4j.Logger logger = LogManager.getLogger(SpringBootLogApplicationTests.class);
        logger.error("error信息");
        logger.warn("warn信息");
        logger.info("info信息");
        logger.debug("debug信息");
        logger.trace("trace信息");
    }

    @Test
    public void test03() {
        /*
            application.properties(yml)是springboot的核心配置文件(用来简化开发使用)
            我们也可以通过该配置文件,修改日志相关的配置
            在springboot核心配置文件中配置:
                logging.level.com.guizy=trace
                logging.pattern.console=%d{yyyy-MM-dd} [%level] -%m%n
         */
        Logger logger = LoggerFactory.getLogger(SpringBootLogApplicationTests.class);
        logger.error("error信息");
        logger.warn("warn信息");
        logger.info("info信息");
        logger.debug("debug信息");
        logger.trace("trace信息");

        // 2022-03-31 [ERROR] -error信息
        // 2022-03-31 [WARN] -warn信息
        // 2022-03-31 [INFO] -info信息
        // 2022-03-31 [DEBUG] -debug信息
        // 2022-03-31 [TRACE] -trace信息
    }

    @Test
    public void test04() {

        /*
        将日志输出到文件中
            使用logging.file.path来配置文件路径下的文件夹(logging.file直接配置文件的形式已经过时,不使用)
            在配置的文件夹下,日志文件生成的名字为spring.log

            logging.level.com.guizy=trace
            logging.pattern.console=%d{yyyy-MM-dd} [%level] -%m%n

            // 文件夹为:springboot_log,文件名字为spring.log
            logging.file.path=/Users/guizhaoyang/Desktop/springboot_log
         */
        Logger logger = LoggerFactory.getLogger(SpringBootLogApplicationTests.class);
        logger.error("error信息");
        logger.warn("warn信息");
        logger.info("info信息");
        logger.debug("debug信息");
        logger.trace("trace信息");
    }
}
Springboot使用日志拆分等功能



    

    
    

    

        
            System.err
        

        

            ${pattern}

        

    


    
    

        
        
            ${pattern}
        
        
        ${logDir}/roll_logback.log

        
        

            
            ${logDir}/roll.%d{yyyy-MM-dd}.log%i.gz

            
            1KB

        

    

    

        


    


@Test
public void test05() {

    /*
        如果是需要配置日志拆分等相对高级的功能
        那么application.properties就达不到需求了
        需要使用日志实现相应的配置文件

        例如我们现在使用的是logback日志实现
        那么就需要在类路径resources下,配置logback.xml

     */

    Logger logger = LoggerFactory.getLogger(SpringBootLogApplicationTests.class);

    for (int i = 0; i 

        

    

    
        
        
            
        
    

@Test
public void test06() {
     Logger logger = LoggerFactory.getLogger(SpringBootLogApplicationTests.class);
     logger.error("error信息");
     logger.warn("warn信息");
     logger.info("info信息");
     logger.debug("debug信息");
     logger.trace("trace信息");
}
关注
打赏
1661428283
查看更多评论
立即登录/注册

微信扫码登录

0.0407s