Springboot 动态指定日志位置

Springboot指定日志位置,其实很简单:

java -jar -Dlogging.file=/home/user1/logs/a.log a.jar

启动,很正常,a.log自动生成,但是运行一段时间后,貌似日志达到一个量级(10MB左右)后,这个a.log自动消失了~~

取而代之的是  a.log.日期.tmp,变成了一个临时文件。

进程还在,日志没地方看了..........

看来这种方式并不是很完美啊,应用是默认的log参数配置,不能省事啊,所以我们还是需要相应的日志门面,在springboot(2.0+)项目中加入logback.xml,内容如下:



	test-a 
	
	
	
    
    
	    
        ${logging.file}    
        
        
            
            
            
            ${logging.file}.%d.%i.log 
             
            30   
                
                  
                300MB    
                
            
            
            
                
                %d %p (%file:%line\)- %m%n  
                
            
            UTF-8
            
    
    
    
	
	
		
	
	
	

注意上面的${logging.file},这里是引用我们-Dlogging.file的参数,-D是JVM参数,logback里是可以获取到的。

至于我为啥这么麻烦,用了logback还要指定-D参数,是因为业务需求呀,log的目录是动态的是启动时确定位置的,不是固定的。

我暂时只能想到这一种办法处理动态日志的位置了....

你可能感兴趣的:(springboot)