systemd dotnet 서비스의 syslog 레이블은 SyslogIdentifier와 프로세스 이름 간에 계속 변경됩니다.

systemd dotnet 서비스의 syslog 레이블은 SyslogIdentifier와 프로세스 이름 간에 계속 변경됩니다.

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
    ...

왜 이런 일이 발생하며 어떻게 해결합니까?

관련 정보