sdwdate를 사용할 때 systemd 로그에서 "시간 변경" 스팸을 비활성화하는 방법은 무엇입니까?

sdwdate를 사용할 때 systemd 로그에서 "시간 변경" 스팸을 비활성화하는 방법은 무엇입니까?

Debian Stretch와 함께 사용되므로 기본적으로 systemd가 사용됩니다.날짜(사용느린 클럭 레귤레이터(GH)), 시스템 시계가 자주 변경됩니다.

결과는 journalctl -f끝없는 스팸입니다.

[...]
Nov 07 13:46:49 host systemd[766]: Time has been changed
Nov 07 13:46:50 host systemd[766]: Time has been changed
Nov 07 13:46:51 host systemd[766]: Time has been changed
[...]

이것은 sysvinit를 사용하는 Debian wheezy에서는 문제가 되지 않습니다.

Time has been changed로그에 메시지를 보내지 않도록 systemd를 구성하는 방법은 무엇입니까 ?

관련된 질문Debian jessie의 /var/log/syslog에서 systemd의 "시간 변경" 스팸을 비활성화하는 방법은 무엇입니까?이미 해결되었지만 이 솔루션은 여기서 작동하지 않습니다.

답변1

에서 온 소식src/core/manager.c시스템 소스에서. INFO 시스템 로깅 수준을 사용하도록 하드코딩되어 있습니다.

기본적으로 systemd는 INFO 수준의 메시지를 기록합니다( /etc/systemd/system.conf다음과 같이 변경하여 변경할 수 있는 경우).

LogLevel=notice

하지만 다른 정보도 많이 잃게 됩니다.

패치하는 것이 더 좋습니다 src/core/manager.c.

 log_struct(LOG_DEBUG,
            MESSAGE_ID(SD_MESSAGE_TIME_CHANGE),
            "MESSAGE=Time has been changed",
            NULL);

( 다음 상위 레벨과 에서 가장 높은 레벨 LOG_DEBUG로 정의됨 sys/syslog.h) 또는 전체 메시지를 주석 처리합니다.

최소 크기가 X초인 타이머 변경 사항만 보고하는 방법을 찾지 못했습니다. 그러나 이것이 가능하다면 의심할 여지없이 패치가 더 복잡해지고 오류가 발생하기 쉬워질 것입니다.

관련 정보