syslog를 사용하여 PHP 기반 사이트의 메시지를 기록하고 싶습니다. 제 질문은 - 맞춤형 시설 이름을 추가할 수 있습니까?입니다. 다음과 같은 사전 정의된 시설이 있다는 것을 알고 있습니다.
auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.
내가 아는 한, 이를 달성하기 위해 local0 - local6 기능을 사용할 수 있습니다.
하지만 저는 syslog에 다음과 같은 내용을 추가할 수 있으면 좋겠다고 생각했습니다.
mySiteName.* /var/log/mySiteName.log
다른 사람들에게는 시각적으로 이해하는 것이 더 쉽습니다. 불행히도 위의 결과는 다음과 같습니다.
rsyslogd-3000: unknown facility name "mySiteName"
그렇다면 사용자 정의 시설 이름을 사용할 수 있는 방법이 있습니까?
답변1
이것시스템 로그인터페이스는 그 안의 상수로 정의된 고정된 기능 세트만 허용합니다 /usr/include/sys/syslog.h
. 맞춤형 시설에 대한 유일한 규정 local0
은 local7
.
여러 서버의 로그를 분리하려면 필터를 사용하여 각 로그 메시지의 소스나 텍스트를 일치시킬 수 있습니다. Rsyslog에는 매우 강력한 기능이 있습니다.필터(읽다일치에 사용할 수 있는 속성).
답변2
이 질문에 완전히 적용 가능한 예는 아니지만 자체 기능을 제공하지 않는 데몬에 유용할 것으로 예상됩니다.
:programname, isequal, "uptimed" /var/log/uptimed.log