IDEA--tomcat日志乱码

本文介绍了三种解决Tomcat日志乱码的方法。方法一涉及修改`logging.properties`文件中的编码格式为GBK,但可能导致控制台乱码;方法二是在IDEA中设置`-Dfile.encoding=UTF-8`,实测有效;方法三涉及修改IDEA的VMoptions和File Encodings设置,未单独测试效果。作者建议在其他方法无效时尝试方法一。

0、实际使用效果

我tomacat乱码的问题,本来通过方法二改好了。
某次测试,误以为乱码问题再次出现(其实不是乱码);于是使用方法一,对tomcat的logging进行修改(改成GBK那个),反而致使控制台乱码(真的乱码);又使用了一遍方法三,还是没有解决问题;把对tomcat的logging的修改改回去,乱码问题就好了。

所以有一下结论:
解决方法一:实测没有效果;
解决方法二:实测有效;
解决方法三:没有单独测试过,效果未知。

但我觉得,可能方法一有它使用的场景吧,出了乱码问题,其他方法都无效的时候,可以尝试一下。

【前言】tomacat日志有三个地方,分别是Output(控制台)、Tomcat Localhost Log(tomcat本地日志)、Tomcat Catalina Log。
启动日志和大部分报错日志、普通日志都在output打印;有些错误日志,在Tomcat Localhost Log。
三个日志显示区,都可能出现乱码现象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、解决方案一:

首先,找到本地tomcat的conf目录下的logging.properties,这个文件中有5个编码的位置
在这里插入图片描述
在这里插入图片描述

1)对于控制台output报错的情况,将下图位置的编码格式,改成gbk
在这里插入图片描述

2)Tomcat Locathost Log和Tomcat Catalina Log乱码的情况,解决方法和上面一样,只是修改的位置不同,修改下图位置
在这里插入图片描述

最后,重启idea乱码就解决了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、解决方案二:
点开HELP下的Edit Custom Properties…,在这个文件的最后添加
-Dfile.encoding=UTF-8
在这里插入图片描述
在这里插入图片描述
重启idea就好了。

3、解决方案三:
1)打开tomcat配置页面,修改配置项VM options,输入

-Dfile.encoding=UTF-8

重启tomcat,查看乱码问题是否解决。

2)(如果依然乱码)打开IntelliJ IDEA本地安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe.vmoptions这两个文件
在这里插入图片描述
分别在这两个文件内容的末尾添加-Dfile.encoding=UTF-8
在这里插入图片描述
3)打开IntelliJ IDEA>File>Setting>Editor>File Encodings,将Global Encoding、Project Encoding、Default encodeing for properties files这三项都设置成UTF-8。
在这里插入图片描述
4)重启Idea,查看乱码问题是否解决。

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

<think>我们正在解决IntelliJ IDEATomcat日志显示乱码的问题。根据引用资料,乱码通常是由编码不一致引起的,涉及IntelliJ IDEATomcat配置和JVM参数。以下是详细解决方案: ### 步骤1:修改IntelliJ IDEA编码设置 1. 打开IntelliJ IDEA,进入 **File → Settings** (Windows/Linux) 或 **IntelliJ IDEA → Preferences** (macOS)。 2. 在搜索框中输入 `File Encodings`。 3. 确保以下选项的编码均为 **UTF-8**: - **Global Encoding** - **Project Encoding** - **Default encoding for properties files** (勾选"Transparent native-to-ascii conversion") 4. 点击 **Apply** → **OK** [^1]。 ### 步骤2:修改Tomcat的JVM参数 1. 在IntelliJ IDEA中打开 **Run/Debug Configurations**。 2. 选择你的Tomcat配置,找到 **Server** 选项卡。 3. 在 **VM options** 中添加: ```ini -Dfile.encoding=UTF-8 ``` 4. 点击 **Apply** → **OK** [^1][^2]。 ### 步骤3:修改Tomcat日志配置文件 > 若步骤2无效,需直接修改Tomcat日志配置(适用于Tomcat 8+): 1. 找到Tomcat安装目录下的 `conf/logging.properties` 文件。 2. 修改所有日志处理器的编码为 `UTF-8`: ```properties java.util.logging.ConsoleHandler.encoding = UTF-8 ``` 3. 保存文件并重启Tomcat [^2]。 ### 步骤4:检查系统环境变量(可选) - 若以上步骤无效,检查系统环境变量: - 添加环境变量 `JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8`。 ### 验证结果 重启IntelliJ IDEATomcat,观察控制台日志是否正常显示中文。 > **注意**:若项目本身输出日志的编码非UTF-8(如GBK),需将上述步骤中的UTF-8替换为对应编码。 §§相关问题§§ 1. 如何修改IntelliJ IDEA全局编码设置? 2. Tomcat的VM参数还有哪些常用配置? 3. 如何解决部署到Linux服务器时的Tomcat乱码问题?</think>### IntelliJ IDEA Tomcat 日志乱码解决方案 根据引用资料分析,乱码主要由三处编码不一致导致:**IntelliJ IDEA 编码设置**、**Tomcat JVM 参数**和**日志配置文件**。以下是完整解决方案: --- #### 一、修改 IntelliJ IDEA 编码设置 1. **打开设置** `File → Settings` (Windows/Linux) 或 `IntelliJ IDEA → Preferences` (macOS) 2. **统一编码格式** - 搜索栏输入 `File Encodings` - 将所有选项设置为 **UTF-8**: ```ini Global Encoding: UTF-8 Project Encoding: UTF-8 Properties Files: UTF-8 (勾选 Transparent native-to-ascii conversion) ``` 3. 点击 **Apply → OK** 保存 [^1] --- #### 二、修改 Tomcat JVM 参数 1. **打开运行配置** `Run → Edit Configurations → 选择你的Tomcat配置` 2. **添加 VM 参数** - 在 `Server` 标签页 → `VM options` 添加: ```ini -Dfile.encoding=UTF-8 ``` - 完整示例: ```ini -Dfile.encoding=UTF-8 -Xmx512m ``` 3. 点击 **Apply → OK** 保存 [^1][^2] --- #### 三、修改 Tomcat 日志编码 1. **定位配置文件** 找到 Tomcat 安装目录下的 `conf/logging.properties` 2. **修改控制台编码** 将 `ConsoleHandler` 的编码改为 UTF-8: ```properties java.util.logging.ConsoleHandler.encoding = UTF-8 # 原值可能是 ISO-8859-1 ``` 3. **保存后重启 Tomcat** --- #### 四、终极检查(针对顽固乱码) 1. **检查系统环境变量** - 添加系统变量: ```ini JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8 ``` 2. **验证项目文件编码** -IDEA 中右键项目 → `File Encoding` → 确认所有文件为 UTF-8 3. **清理缓存** `File → Invalidate Caches → Invalidate and Restart` --- > **效果验证**:重启 IDEATomcat 后,控制台输出中文日志应正常显示。若仍有个别第三方库乱码,需检查其特定编码设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值