SpringBoot 配置 Logback 日志(不同等级输出到不同文件)

1. 排除 jar 包冲突,由于 jar 包的冲突会导致 linux 服务器日志输出文件无内容的问题


	org.springframework.boot
	spring-boot-starter-web
	
		
			org.slf4j
			slf4j-log4j12
		
	

2. 配置文件编写,在 resources 目录下创建一个 logback-spring.xml 文件

文件内容:



    logback
    

    
        
        
            
            
                debug
            
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                utf-8
            
        
        
            
        
    
    
        
        
            
                ${log.path}/logback-debug-%d{yyyy-MM-dd}.log
            
            true
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                utf-8
            
            
                DEBUG
                ACCEPT
                DENY
            
        

        
        
            
                ${log.path}/logback-info-%d{yyyy-MM-dd}.log
            
            true
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                utf-8
            
            
                INFO
                ACCEPT
                DENY
            
        

        
        
            
                ${log.path}/logback-error-%d{yyyy-MM-dd}.log
            
            true
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                utf-8
            
            
                ERROR
                ACCEPT
                DENY
            
        

        
        
            
                ${log.path}/logback-warn-%d{yyyy-MM-dd}.log
            
            true
            
                %d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                utf-8
            
            
                WARN
                ACCEPT
                DENY
            
        
        
            
            
            
            
        
    

3. 配置信息简要说明

这里面配置的是处于 dev 环境下的日志配置,如上述描述,将日志信息打印到控制台上


这里的配置是处于 prod 生产环境的日志配置,对于 debug,info,error,warn 等级别的日志会分别输出到不同的日志文件中,方便我们对日志记录进行查看


这个配置相当于定义了一个变量

变量名为 log.path,值为 /project/log ,那么如何引用这个变量值呢?

${log.path}/logback-debug-%d{yyyy-MM-dd}.log

通过 ${log.path} 获取变量值


4. 如何使用这个日志配置文件

java -jar springTest.jar --spring.profiles.active=dev &

上面这句话是执行 springTest.jar 并使用 dev 环境下的 profile,所以对应的日志配置文件会启用

这里所包含的内容


java -jar springTest.jar --spring.profiles.active=prod &

上面这句话是执行 springTest.jar 并使用 prod 环境下的 profile,所以对应的日志配置文件会启用

这里所包含的内容

你可能感兴趣的:(springboot,spring,boot,logback)