logback.xml自定义标签实现(机器名+端口)


需求:

  由于大部分服务部署在多台机器上,当服务器资源不足时,存在1台服务器上部署多个相同的服务,为了区分日志,在日志生成的日志文件中添加机器名称和端口号(也支持用命令启动时添加端口),具体实现示例如下:

步骤1:端口设置application.properties中,字段名称为“server.port”

server.port=8086

步骤2:在logback.xml中添加   ,其中name为名称,下面配置中使用,source是application.properties配置的字段名称

<?xml version="1.0" encoding="UTF-8"?>

 	    
    
    
    
    
 	
    
    
    
        
            INFO
            ACCEPT
            DENY 
        
        
            ${LOG_HOME}/${APP_NAME}/${APP_NAME}-${HOSTNAME}-${port}-digest.%d{yyyy-MM-dd}-%i.log
            30
            
            500MB
        
        
            
                
                %d{yyyy-MM-dd} %d{HH:mm:ss.SSS},%-5level,%X{X-B3-TraceId},[%X{bizType},%X{interfaceName},%X{version},%X{result},%X{cost},%X{resultCode},%msg] %n
            
        
    
......

 步骤3.启动项目在日志存放目录下即可看到日志文件

项目名称-机器名-端口.2022-01-08-0.log