Springboot程序接入logstash后,日志文件中文变成了unicode编码

问题

Springboot程序在接入ELK时,需要引入依赖logstash

        
            net.logstash.logback
            logstash-logback-encoder
            ${logback-encoder.version}
        

还需在日志文件中配置一下logstash的日志输出格式、名称等

    
        ${log.path}/apps.json
        
            
                ${log.path}/apps.%d{yyyyMMdd}.json.zip
            
            30
        

        
            
                
                
                    
                        {
                        "project":"${project.name}",
                        "app":"${spring.application.name}",
                        "host":"${hostName}",
                        "@timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ}",
                        "logger": "%logger",
                        "level": "%level",
                        "thread": "%thread",
                        "msg":"%message"
                        }
                    
                
                
                
                    caller
                    class
                    method
                    
                    line
                
                
                    
                        100
                        true
                        true
                    
                
            
        
    

配置好了,启动程序查看输出到文件中的日志,中文变成了unicode编码,检查了配置没啥问题,编码都是UTF-8呀~

解决方案

最后尝试了很多种方案,在网上找到一个方案是有效果的


image.png

参考链接

http://www.kailing.pub/article/index/arcid/214.html
https://www.jiweichengzhu.com/article/2f98919d236a4577aab22cd4057fd6fa
https://blog.csdn.net/wang0120000/article/details/105097417

你可能感兴趣的:(Springboot程序接入logstash后,日志文件中文变成了unicode编码)