log4j日志使用自定义日期格式时,定义月份为MMM本应显示英文简写但实际显示却是中文

定义的格式为:
<PatternLayout pattern="[%d{MMM d HH:mm:ss}][%c{1}][%p] %m%n" />
这是输出的内容:
[四月 14 15:10:50][HelloWorld][INFO] test
把电脑系统语言改为英文也不行。必须重启之后才会改为英文Apr。

改为${date:MMM d HH:mm:ss}立马会跟着系统语言来定,系统语言为中文就是四月 ,系统为英文就是Apr。

暂时不知道%d和${date}的区别,以后再补。

解决方法:

部署时将centos环境切换为英文。具体步骤:

1、使用locale查看当前使用的编码和字符集

locale

2、使用locale -a查看当前支持的编码和字符集

 locale -a | grep en_US #locale -a会输出当前系统支持的所有编码和字符集,所以我这里使用grep只过滤en_US的字符集

 

 可以看到有en_US.utf8。一定要注意在第下一步修改中不要直接使用这里的en_US.utf8而要写成en_US.UTF-8形式,不然修改不生效系统会继续使用原先的中文编码。

3、执行export LANG=en_US.UTF-8即可。

 export LANG=en_US.UTF-8

 这是动态修改方式,影响只能作用于当前会话--而且只是终端的提示信息由中文变为了英文,界面和目录依然是中文--脱离当前会话或重启系统又变回原来的中文了。可以达到只会影响当前输出日志为英文,而不影响系统系统用户的目的。

 

如果想要永久切换中英文,请见:CentOS中/英文环境切换教程(CentOS6.8)

一、前言

对于不习惯英文的人可能想将系统由英文转成中文;而对于考虑客户端如果没正确配置,中文目录可能显示为乱码的人则可能宁愿将系统由中文转成英文。

中文切换为英文,实际就是将LANG的值由zh_CN-UTF8字符集改为en_US-UTF8字符集;类似的,英文切换为中文,就是将LANG的值由en_US-UTF8改为zh_CN-UTF8。

本文只以中文切换为英文为例。

 

二、中文环境换为英文环境

当前桌面显示如下:

 

用户家目录显示如下:

 

2.1使用locale查看当前使用的编码和字符集

locale

 

2.2 使用locale -a查看当前支持的编码和字符集

locale -a | grep en_US  #locale -a会输出当前系统支持的所有编码和字符集,所以我这里使用grep只过滤en_US的字符集

可以看到有en_US.utf8。一定要注意在第下一步修改中不要直接使用这里的en_US.utf8而要写成en_US.UTF-8形式,不然修改不生效系统会继续使用原先的中文编码。

 

2.3在/etc/profile中修改LANG变量

echo 'export LANG=en_US.UTF-8' >> /etc/profile  #在/etc/profile最后追加
reboot       #重启操作系统

 

2.4 确认将文件夹由中文修改为英文

用图形界面登录主机,出现更名确认界面,点击确认即可

 

 三、说明

3.1 有教程说直接执行export LANG=en_US.UTF-8即可,这样是否确实可行?

答:不可行。至少就我测试来看是不可行的。而且从原理上看这是明显的动态修改方式,影响只能作用于当前会话--而且只是终端的提示信息由中文变为了英文,界面和目录依然是中文--脱离当前会话或重启系统又变回原来的中文了。

 

3.2 有教程说可以修改/etc/sysconfig/i18n,这样是否可行?

答:按在CentOS-6.8和Redhat-6.5测试来看,修改/etc/sysconfig/i18n中是终端中的提示由中文变为了英文,界面和目录并不能变为英文。(不过似乎英文转中文时修改/etc/sysconfig/i18n目录就可以变)

       测试来看/etc/profile优先级高于/etc/sysconfig/i18n。

 

3.3 目录真的是由中文变为英文吗,比如真的是“桌面”变为“Desktop”,然后原先在“桌面”的文件转到“Desktop”吗?

答:按实际操作来看,“桌面”和“Desktop”是两个文件夹。

       设置为中文环境时,图形界面显示“桌面‘文件夹;设置英文环境时,图形界面显示”Desktop“文件夹。原来在”桌面“的文件不会自动保存到”Desktop“,但会保存在”桌面“文件夹中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值