1

Я нахожусь на Ubuntu 16.04 и развернул сервис в /etc/systemd/system . Сервисный файл booster.service содержит

[Unit]
Description = booster
After = network.target
[Service]
ExecStart =/opt/tech/mybooster/sbin/booster_server
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=booster 
[Install]
WantedBy = multi-user.target

Еще один файл в /etc/rsyslog.d именем 25-booster.conf имеет следующее содержимое

:syslogtag, isequal, "ubooster" /opt/tech/mybooster/logs/booster_server.log
& stop

Я могу видеть журналы из команды journalctl -u booster . Но журналы не перенаправляются в файл booster_server.log .

Я прошел по этой ссылке, перенаправляя вывод systemd, но, как упоминалось в комментариях, он не работает 16.04.

Я попытался изменить значение, if $programname == ... но это не сработало.

Последний комментарий в принятом ответе, где пользователь упомянул о смене пользователя на syslog . Поэтому я изменил owner и group на syslog но даже это бесполезно.

Любые комментарии ?

РЕДАКТИРОВАТЬ 1: Я также читал, что если версия systemd 236 или выше, абсолютный путь файла журнала может быть предоставлен непосредственно к StandardOutput и StandardError в файле .service . Но версия systemd в моей системе - 229, и многие предупреждают об обновлении systemd до тех пор, пока у человека не будет значительного опыта работы с Linux. Так как больше шансов, что это сломает систему, чем будет успешным.

1 ответ1

0

Ответ находится в той же ссылке, что и в вопросе, но некоторые пользователи предупреждают об этом. Но это можно использовать как временное решение. Если у какого-либо органа есть лучшее решение, просьба предоставить

Ответ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .