解決 Spring Boot 日志亂碼問題可以采取如下步驟:
在 application.properties 或 application.yml 文件中配置日志輸出編碼,例如:
logging.file.encoding=UTF-8
在 main 方法中設置系統默認編碼為 UTF-8,例如:
public static void main(String[] args) {
System.setProperty("file.encoding", "UTF-8");
SpringApplication.run(Application.class, args);
}
確保日志文件的編碼與配置一致,例如使用 UTF-8 編碼。
為控制臺輸出日志的 Appender 配置編碼,例如使用 ConsoleAppender 輸出到控制臺時,添加如下配置:
log4j.appender.console.encoding=UTF-8
或者使用 logback.xml 配置文件時,添加如下配置:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<!-- 其他配置 -->
</encoder>
<!-- 其他配置 -->
</appender>
如果是使用 Logback 作為日志框架,還可以在 logback.xml 配置文件中配置日志編碼,例如:
<configuration>
<property name="console.encoding" value="UTF-8" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>${console.encoding}</charset>
<!-- 其他配置 -->
</encoder>
<!-- 其他配置 -->
</appender>
<!-- 其他配置 -->
</configuration>
如果以上方法仍然無法解決亂碼問題,可以嘗試使用其他日志框架或編碼過濾器解決亂碼問題。