centos 7,8 systemd service 自定义日志输出

背景

默认情况下, 在 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 必须一致
/etc/rsyslog.d/myprog.conf

if $programname == "my-pro-agent" then /apps/my-pro-agent.log
& stop

重启服务

systemctl restart  rsyslog 
systemctl restart  my-prog-agent 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值