Ubuntu 18.04(systemd 237)에서 systemd 서비스로 실행되는 여러 .NET Core 애플리케이션이 있습니다. 유닛 파일은 다음과 같습니다.
[Unit]
Description=my-service dotnet service
[Service]
Type=simple
SyslogIdentifier=my-service
User=myservice
EnvironmentFile=/etc/environment
WorkingDirectory=/home/myservice
ExecStart=/usr/bin/dotnet /home/myservice/My.Service.dll
Restart=on-failure
RestartSec=5
StartLimitBurst=10
StartLimitInterval=60
[Install]
WantedBy=default.target
대부분의 사람들에게 /var/log/syslog에서 볼 수 있는 syslog 태그는 예상대로 위에 설정된 SyslogIdentifier입니다. 그러나 한 서비스의 경우 syslog 태그로 "dotnet"이 포함된 메시지가 예상대로 표시되지만 여전히 $ systemctl show my-service |grep SyslogIdentifier
표시됩니다 SyslogIdentifier=my-service
.
Journalctl을 확인하면 "my-service"와 실행 파일 이름("dotnet")이 계속 번갈아 바뀌는 것 같습니다.
$ journalctl -u my-service -o verbose |grep SYSLOG_IDENTIFIER
SYSLOG_IDENTIFIER=dotnet
SYSLOG_IDENTIFIER=my-service
SYSLOG_IDENTIFIER=my-service
SYSLOG_IDENTIFIER=dotnet
SYSLOG_IDENTIFIER=my-service
SYSLOG_IDENTIFIER=my-service
SYSLOG_IDENTIFIER=dotnet
SYSLOG_IDENTIFIER=my-service
SYSLOG_IDENTIFIER=my-service
...
왜 이런 일이 발생하며 어떻게 해결합니까?