背景
默认情况下, 在 centos 7, 8 上, 使用 systemd 控制服务
服务日志输出默认都由 journald 接受
目的
自定义 service 的日志输出
方法1
简单, 但进程会以子进程方式启动, 通过 shell 重定向方法控制
参考下面随意的 service 服务启动方法
[Service]
ExecStart=/bin/sh -c /apps/myprogram -c /apps/myconfig > /apps/log/mylog 2>&1
可以通过 systemctl status servicename.service 查询进程运行情况
上面情况会导致 /bin/sh 产生子进程再运行你的程序
日志控制由 shell 进行重定向
方法2
通过 rsyslog 进行日志重新定义
参考 service 语法
[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=my-pro-agent
ExecStart=/apps/myprogram -c /apps/myconfig
参考 rsyslog 定义方法
注意, my-pro-agent