栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

二、SpringBoot:选用 SLF4j日志门面和logback日志实现记录日志

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

二、SpringBoot:选用 SLF4j日志门面和logback日志实现记录日志

日志

用什么日志实现,就用这个日志实现的配置;

SpringBoot:选用 SLF4j日志门面和logback日志实现记录日志;能自动适配所有的日志

日志门面: SLF4J (Simple Logging Facade for Java);是所有日志的抽象层

日志实现:Logback;  

SpringBoot底层是Spring框架,Spring框架默认是用JCL(Jakarta Commons Logging),这个日志实现会排除掉,用中间包替换指向slf4j

SLF4j使用 :https://www.slf4j.org

日志记录方法是调用日志抽象层里面的方法;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloWorld {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(HelloWorld.class);
logger.info("Hello World");
}
}

给系统里面导入slf4j的jar和 logback的实现jar

2、遗留问题:

3、SpringBoot日志关系 


org.springframework.boot
spring‐boot‐starter‐logging

 底层依赖关系:

4)、如果我们要引入其他框架:一定要把这个框架的默认日志依赖移除掉;

Spring框架用的是commons-logging;


org.springframework
spring‐core


commons‐logging
commons‐logging



SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可;

4、日志使用;

1、默认配置 SpringBoot默认帮我们配置好了日志;

SpringBoot默认给我们使用的是info级别的,日志的级别: trace

SpringBoot在application配置中修改日志的默认配置:

logging.level.com.atguigu=trace     

#logging.path= 
# 不指定路径在当前项目下生成springboot.log日志 
# 可以指定完整的路径; 
#logging.file=G:/springboot.log  
# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹;使用 spring.log 作为默认文件 logging.path=/spring/log   

#  在控制台输出的日志的格式 logging.pattern.console=%d{yyyy‐MM‐dd} [%thread] %‐5level %logger{50} ‐ %msg%n 
# 指定文件中日志输出的格式 logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %‐5level === %logger{50} ==== %msg%n



可以指定某段配置只在某个环境下生效



%d{yyyy‐MM‐dd HH:mm:ss.SSS} ‐‐‐‐> [%thread] ‐‐‐> %‐5level
%logger{50} ‐ %msg%n


%d{yyyy‐MM‐dd HH:mm:ss.SSS} ==== [%thread] ==== %‐5level
%logger{50} ‐ %msg%n



如果使用logback.xml作为日志配置文件,还要使用profile功能,会有以下错误 no applicable action for [springProfile] 

 logback-spring.xml :可以使用profile功能

 


	
		
          【xkcoding】%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n
		
	
 
	
		
		
			
			${user.dir}/logs/log/online-study.%d.log
		
		
          【xkcoding】%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n
		
	
 
	
		
			ERROR
			ACCEPT
			DENY
		
		
		
			
			${user.dir}/logs/error/online-study.%d.error
		
		
          【xkcoding】%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n
		
	
 
	
	
	
	
 
	
	
	
	
	    
	
	
	
	
	
	
	
	
	
 
	
		
		
		
	
 



    logback
    
    
    
    
        
        
        
            DEBUG
        
        
        
        
            %d [%thread] %-5level %logger{36} [%file : %line] - %msg%n
        
    

    
        
        
        
        ${scheduler.manager.server.home}/logs/${app.name}.log
        
        
            
            ${scheduler.manager.server.home}/logs/${app.name}.%d{yyyy-MM-dd.HH}.log.gz
            
            
            60
            
            20GB
        
        
            
            100MB
        
        
        
            %d [%thread] %-5level %logger{36} [%file : %line] - %msg%n
        
    

    
    
        
        
        
    

    
    
    

    
    
    
    
    
        
    
    
    
    
    

5、切换日志框架

切换为log4j2


org.springframework.boot
spring‐boot‐starter‐web


spring‐boot‐starter‐logging
org.springframework.boot




org.springframework.boot
spring‐boot‐starter‐log4j2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号