使用supervisor
由于java服务老是因为各种原因宕机,所以使用了supervisor管理java服务
错误发现
今天由于业务原因查询日志,发现supervisor启动的服务的日志大部分都是“???”
解决方法
首先在supervisor的主配置文件中,有一个指定子程序的配置目录:
# 这个应该在配置文件的最后几行,指定的子程序的配置文件位置;
[include]
files = supervisord.d/*.ini
然后找到子程序的配置文件,并且打开指定服务配置文件,在启动Jar的脚本里配置-Dfile.encoding=UTF-8
[program:sihan-daqdata-service]
directory=/jar # jar目录
command=java -Dfile.encoding=UTF-8 -Xms2048m -Xmx4096m -server -javaagent:/data/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar -jar a.jar
autostart=true
autorestart=true
startsecs=5
startretries=3
redirect_stderr=true
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=20
stdout_logfile=/jar/a/logs
总结
在启动的地方一定要注意启动的配置