log4j2 日志动态记录git参数${git.commit.id.abbrev}(一)

maven项目(非springboot项目)日志记录版本

之前做过一个项目,java项目的log4j日志管理中,记录当前程序提交的git;具体的做法

1、在pom中引入对应的插件


                pl.project13.maven
                git-commit-id-plugin
                2.2.5
                
                    
                        get-the-git-infos
                        initialize
                        
                            revision
                        
                    
                
                
                    ${project.basedir}/.git
                    git
                    false
                    yyyy-MM-dd HH:mm:ss
                    true
                    ${project.build.outputDirectory}/git.properties
                    
                    json
                    
                    7
                    
                        false
                        false
                        -dirty
                    
                
            

引入上面的配置之后,在打包之后,在所打的jar包中的根目录向会生成一个git.properties文件,并且文件的内容格式是json格式的;

2、log4j配置文件中引入git占位符

log4j配置文件的部分配置如下


            
            
                
                    
                    
                    
                
            
            ${kafka.servers}
            5000
            5000
            3000
        

上面的配置通过logstash将日志通过kafka输入es,在输入日志的格式进行了个性化定制,其中就包括在输出属性中增加了git属性;

3、验证效果

完成对log4j的配置之后,进行打包,查看包内文件,发现在classes目录下的log4j2.xml中的${git.commit.id.abbrev}占位符被替换成git.properties中git.commit.id.abbrev对应的值。
如果上面的效果没有出现,检查下面的配置在pom文件中是否忘记配置了


            
                src/main/resources/
                true
                
                    **/*.properties
                
            
            
                src/main/resources/
                true
                
                    **/*.xml
                
            

你可能感兴趣的:(log4j2 日志动态记录git参数${git.commit.id.abbrev}(一))