spring boot jar部署控制台日志亂碼


問題描述

spring boot jar包部署,通過java -jar 命令運行.jar文件

代碼中通過變量log輸出到控制台的中文,亂碼,但是僅僅是在運行jar時才亂碼;而在用eclipse debug時,正常

代碼中通過System.out.println()輸出的中文,不論是否是通過jar運行,都正常

日志使用的是默認的logback,未使用log4j

解決

1、resources文件夾新建logback.xml(文件名不可修改)

內容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<? xml version = "1.0" encoding = "UTF-8" ?>
<!-- spirng boot 默認使用logback,默認會讀取resources文件夾下的名為logback.xml的文件  zhangyu 20180807-->
< configuration debug = "false" >
   <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑 -->
   < property name = "LOG_HOME" value = "C:/loghome" />
   <!-- 控制台輸出 -->
   < appender name = "STDOUT" class = "ch.qos.logback.core.ConsoleAppender" >
     < encoder class = "ch.qos.logback.classic.encoder.PatternLayoutEncoder" >
       <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符 -->
       < pattern >%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</ pattern >
       <!-- <charset>UTF-8</charset> -->
     </ encoder >
   </ appender >
 
   <!-- 日志輸出級別 -->
   < root level = "INFO" >
     < appender-ref ref = "STDOUT" />
   </ root >
</ configuration >

2、首先,spring boot 默認使用logback

默認讀取resources/下名為logback.xml的日志配置文件,有則讀取,沒有則使用默認。

3、其次,logback.xml,將


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM