Forum und email

syslog

(PHP 4, PHP 5)

syslog — 시스템 로그 메시지를 생성합니다.

Description

int syslog ( int $priority , string $message )

syslog()는 시스템 기록자에 의해 배분이 될 로그 메시지를 생성합니다. priority 는 다음 장에서 주어진 값에 대한 난이도와 수준의 조합입니다. 남겨진 인수는 현재의 errno 값에 대응이 되는 에러 메시지 문자열(strerror)은 %m의 두개 문자로 대치가 되고 나머지는 보내지는 메시지 입니다.

syslog() 우선순위 (역순정렬)
Constant Description
LOG_EMERG 시스템을 사용할 수 없습니다.
LOG_ALERT 즉시 수행해야 할 행동
LOG_CRIT 위험한 상태
LOG_ERR 에러 상태
LOG_WARNING 경고 상태
LOG_NOTICE 일반적이지만 중요한 상태
LOG_INFO 정보 메시지
LOG_DEBUG 디버그 수준 메시지

Example#1 syslog()의 사용

<?php
define_syslog_variables
();
// 프로세스 ID를 포함하고 있으며 로그를 표준 에러로 보내는 syslog를 열고
// 사용자에 의해 정의된 logging 메카니즘을 사용합니다.
openlog("myScripLog"LOG_PID LOG_PERRORLOG_LOCAL0);

// 코드가 들어갑니다.

if (authorized_client()) {
    
// 무슨 일인가를 수행합니다.

} else {
    
// 인증되지 않은 사용자!
    // 로그를 시도합니다.
    
$access date("Y/m/d H:i:s");
    
syslog(LOG_WARNING,"인증되지 않은 사용자: $access $REMOTE_ADDR ($HTTP_USER_AGENT)");
}

closelog();
?>
사용자가 정의한 로그 핸들러를 설정하기 위한 정보는 syslog.conf (5) 유닉스의 기능설명(manual) 페이지를 보세요. syslog 난이도와 옵션에 관해서 정보를 좀 더 알고 싶을 때는 syslog (3) 유닉스 머신의 man 페이지에서 찾아 볼 수 있습니다.

Windows NT에서 syslog 서비스는 이벤트 로그로 에뮬레이트 되어 사용됩니다.

참조: define_syslog_variables(), openlog(), closelog().