解决Linux服务启动Java程序日志文件出现中文乱码的问题

自己编写Java程序,注册为Linux Service服务,通过 service xxx start 启动后,发现日志文件中文乱码,如果不使用服务启动,则没有乱码。
出现此问题可能是系统环境变量设置不正确,也可能是服务启动工具没有添加中文的设置,最终的结果导致以服务形式启动的程序输出的日志文件乱码,在操作系统本身支持中文的情况下 排查方法如下:

1、首先查看自己系统中环境变量LANG的设置
使用命令:echo $LANG,如下所示

[root@localhost data]# echo $LANG
zh_CN.UTF-8
如果输出的不是以上的结果,则需要在 系统 profile文件中进行设置,步骤如下:

    vim /etc/profile

    在文件最后写入:

    export LANG=zh_CN.UTF-8

    保存后,重新加载 profile文件:source /etc/profile,重新查看LANG设置即可看到UTF-8设置。

2、查看服务启动工具对环境变量的使用
使用命令 :grep env /sbin/service
在这里插入图片描述

将LANG="$LANG" 配置在env -i 后面,最后的结果如下所示,操作过程:

编辑service文件

vim /sbin/service

在env -i 后面加上 LANG="$LANG"  。

添加后  重启操作系统

重新运行服务即可解决 日志文件乱码的问题。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值