애플리케이션이 로깅을 위해 syslog를 사용한다는 것은 로그가 /var/log 아래 어딘가에 저장된다는 의미입니까? 아니면 다른 곳에도 있을 수 있나요?
답변1
/var/log
"응용 프로그램이 시스템 로그에 기록"될 때 "해당 로그를 저장"하지 않습니다. 그것이 하는 일은 시설 및 심각도 수준에 대한 로그 메시지입니다.
이용 가능한 시설은 다음과 같습니다.
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6, local7
사용 가능한 심각도는 다음과 같습니다.
emergency, alert, critical, error, warning, notice, info, debug
예를 들어, Linux 커널은 메시지를 ;라는 도구에 보내고 다양한 심각도 kern
를 사용하여 메시지의 심각도를 표시 합니다 . 다른 애플리케이션은 다양한 심각도 수준을 사용하여 "로컬" 시설에 기록하도록 프로그래밍/설계할 수 있습니다 .auth
authpriv
cron
cron
local0
local7
이제 syslog 데몬에는 일반적으로 .라는 구성 파일이 있습니다 /etc/syslog.conf
. 이 구성 파일에서 이러한 메시지가 저장되거나 전송되는 위치를 정의합니다. 일부 구성 줄의 예는 다음과 같습니다 /etc/syslog.conf
.
kern.* /var/log/kern.log
mail.err /var/log/mail.err
*.* /var/log/syslog
첫 번째 줄은 syslog 데몬에게 kern.*
메시지(시설 kern
및 *
모든 심각도를 나타냄)를 파일에 기록하도록 지시하고 /var/log/kern.log
, 두 번째 줄은 mail
시설 및 err
심각도 메시지를 에 저장하며 /var/log/mail.err
, 세 번째 줄은 모든 내용을 에 기록합니다 /var/log/syslog
.
따라서 귀하의 질문에 답변하기 위해 메시지가 장치 및 심각도에 기록되고 파일이 syslog.conf
저장 위치를 결정합니다. 그러나 일반적으로 기본 구성 syslog
은 /var/log
.
답변2
/var/log
기본 위치만 변경할 수 있습니다 /etc/syslog.conf
.
위치를 변경하는 경우 새 위치를 가리키도록 구성도 업데이트해야 합니다 logrotate
. 그렇지 않으면 로그 파일이 제어할 수 없을 정도로 커집니다. [힌트: /etc/logrotate.conf
그리고 /etc/logrotate.d/
]