Springboot logbackコンソール中国語出力文字化け

20556 ワード

JAr方式中国語文字化けし
springbootがlog 4 jではなくデフォルトで使用するlogbackのため、resourceフォルダの下のlogback-springを変更します.xmlファイル、コメントを削除
   
    "CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        
        class="ch.qos.logback.classic.filter.ThresholdFilter">
            debug
        
        
            ${CONSOLE_LOG_PATTERN}
            

        
    

 
説明:logback-springを構成しない場合.xmlフォルダまたはresourceフォルダの下にlogback-springはありません.xmlファイルの場合springbootはデフォルトの構成を使用し、jarパッケージ、java-jar xxxを配置します.JAr、コード中のlog変数が出力する中国語、文字化け;もし、logbackが構成するならば.xml、しかしcharsetはUTF-8を使って、それでは中国語は依然として文字化けしています;logbackのみを使用します.xml、そして、charsetを削除してこそ、中国語が正常であることを確保することができます.
無駄な方法はpomのplugin->spring-boot-maven-plugin->configurationノードの下で-Dfileを追加することです.encoding=UTF-8、不要;または実行中です.JArパッケージの場合、パラメータ-Dfileを追加します.encoding=UTF-8、依然として役に立たない
個人のロゴバックxmlの構成は次のとおりです.
"1.0" encoding="UTF-8"?>




"true" scanPeriod="10 seconds">
    logback

    
    "log.path" value="${log.path}/web_info.log" />

    
    
    "clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    "wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    "wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
    
    "CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    
    "CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        
        class="ch.qos.logback.classic.filter.ThresholdFilter">
            debug
        
        
            ${CONSOLE_LOG_PATTERN}
            

        
    

    
    
    "DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        ${log.path}/web_debug.log
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            UTF-8 
        
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                100MB
            
            
            15
        
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            debug
            ACCEPT
            DENY
        
    

    
    "INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        ${log.path}/web_info.log
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            UTF-8
        
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            
            ${log.path}/web-info-%d{yyyy-MM-dd}.%i.log
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                100MB
            
            
            15
        
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            info
            ACCEPT
            DENY
        
    

    
    "WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        ${log.path}/web_warn.log
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            UTF-8 
        
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            ${log.path}/web-warn-%d{yyyy-MM-dd}.%i.log
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                100MB
            
            
            15
        
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            warn
            ACCEPT
            DENY
        
    

    
    "ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        ${log.path}/web_error.log
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            UTF-8 
        
        
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            ${log.path}/web-error-%d{yyyy-MM-dd}.%i.log
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                100MB
            
            
            15
        
        
        class="ch.qos.logback.classic.filter.LevelFilter">
            ERROR
            ACCEPT
            DENY
        
    

    

    

    

    
    
    "dev">
        "com.reason.gsny" level="debug"/>
    

    "info">
        ref ref="CONSOLE" />
        ref ref="DEBUG_FILE" />
        ref ref="INFO_FILE" />
        ref ref="WARN_FILE" />
        ref ref="ERROR_FILE" />
    

    


注意:このような構成を使用すると、サービス方式では依然として文字化けします.
サービスの下で解決方法中国語の文字化けし問題の解決
jarファイルと同じディレクトリにxxxを追加します.conf例えば/var/myapp-1.0.1.jarは/var/myapp-1.0を追加する.1.conf
myapp-1.0です.1.confファイルに次のように書き込みます.
export LANG='en_US.UTF-8'

再起動後
无用试试:はい~/.bashrcに次の内容を追加します.
export LANG='UTF-8'
export LC_ALL='zh_CN.UTF-8'
export LC_CTYPE='zh_CN.UTF-8'