Spring Boot 日志的使用及logback.xml的使用

当前是市场上使用的日志框架有很多,比如:JUL、JCL、Jboss-logging、logback、log4j、slf4j....等等;

但是日志主要分为两类,日志门面和日志实现两类;日志门面可以说是日志框架的抽象层,主要实现是的日志实现类,

日志门面 日志实现
JCL(Jakarta Commons Logging),SLF4J(Simple Logging Facade for Java),jboss-logging Log4j JUL(java.util.logging) Log4j2   Logback

Spring Boot使用日志门面:slf4j,日志实现:Logback;


   org.springframework.boot
   spring-boot-starter-logging

将日志框架依赖引入后,开始使用:

Logger log=LoggerFactory.getLogger(getClass());//日志的记录器
//日志等级:由低到高 trace

 但是在执行的时候,并没有将所有打印到控制台

Spring Boot 日志的使用及logback.xml的使用_第1张图片

 Spring Boot 默认的日志级别为:info,

打印的日志配置是可以在application.properties里面进行配置的:

//root指根路径下面所有打印的日志级别,也可以设置某些包下面的级别,将root替换成对应包的路径即可。 
logging.level.root=trace 

//将日志输出到该目录下面的spring.log文件中 如果两个同时配 默认file有效
logging.path=/data/

//将日志输出到指定文件中
logging.file=/data/a.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表示日期时间,
    %thread表示线程名,
    %‐5level:级别从左显示5个字符宽度,
    %logger{50} 表示logger名字最长50个字符,
    否则按照句点分割,
    %msg:日志消息,
    %n是换行符
%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{50} ‐ %msg%n

日志配置也能单独拿出来做为一个配置文件使用:

logback.xml:该文件直接被日志框架识别,但是不能使用 springProfile 标签

logback-spring.xml:不能直接被日志框架识别,由SpringBoot解析,支持使用 springProfile 高级功能




    
    
    
    
    
    
        
               
                %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
            
        
    

    
    
        
        ${LOG_HOME}/${appName}.log
        
        
            
            ${LOG_HOME}/${appName}-%d{yyyy-MM-dd}-%i.log
            
            365
            
            
                100MB
            
        
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n
        
    

    
    
    
    
    
    
    
        
        
    

springProfile :

在配置文件中可以指定使用哪个日志输出格式: spring.profiles.active=springProfileName ,未指定时,会自动找名称带有!开头的日志格式,没有则报错,多个含有!名称默认选择最后一个。

 

 

 

 

 

 

你可能感兴趣的:(SpringBoot)