syslog
— 유닉스 syslog 라이브러리 루틴¶
이 모듈은 유닉스 syslog
라이브러리 루틴에 대한 인터페이스를 제공합니다. syslog
기능에 대한 자세한 설명은 유닉스 매뉴얼 페이지를 참조하십시오.
이 모듈은 시스템 syslog
계열의 루틴을 감쌉니다. syslog 서버와 통신할 수 있는 순수한 파이썬 라이브러리는 logging.handlers
모듈에서 SysLogHandler
로 제공됩니다.
모듈은 다음 함수를 정의합니다:
-
syslog.
syslog
(message)¶ -
syslog.
syslog
(priority, message) message 문자열을 시스템 로거로 보냅니다. 필요하면 끝에 줄 넘김이 추가됩니다. 각 메시지에는 시설(facility) 과 수준(level)으로 구성된 우선순위(priority)로 꼬리표가 붙습니다. 선택적 priority 인자(기본값은
LOG_INFO
)는 메시지 우선순위를 결정합니다. 시설이 논리합(LOG_INFO | LOG_USER
)을 사용하여 priority로 인코딩되지 않으면,openlog()
호출에 지정된 값이 사용됩니다.syslog()
호출 이전에openlog()
가 호출되지 않았으면, 인자 없이openlog()
가 호출됩니다.
-
syslog.
openlog
([ident[, logoption[, facility]]])¶ 후속
syslog()
호출의 로깅 옵션은openlog()
를 호출하여 설정할 수 있습니다. 로그가 현재 열려 있지 않으면syslog()
는 인자 없이openlog()
를 호출합니다.선택적 ident 키워드 인자는 모든 메시지 앞에 추가되는 문자열이며, 기본값은 선행 경로 구성 요소가 제거된
sys.argv[0]
입니다. 선택적 logoption 키워드 인자(기본값은 0)는 비트 필드입니다 – 결합할 수 있는 가능한 값은 아래를 보십시오. 선택적 facility 키워드 인자(기본값은LOG_USER
)는 명시적으로 인코드 된 시설이 없는 메시지에 대한 기본 시설을 설정합니다.버전 3.2에서 변경: 이전 버전에서는, 키워드 인자가 허용되지 않았고, ident가 필수였습니다. ident의 기본값은 시스템 라이브러리에 따라 달랐으며, 종종 파이썬 프로그램 파일 이름 대신
python
이었습니다.
-
syslog.
closelog
()¶ syslog 모듈값을 재설정하고 시스템 라이브러리
closelog()
를 호출합니다.이것은 모듈이 처음 임포트될 때처럼 작동하도록 합니다. 예를 들어,
openlog()
는 첫 번째syslog()
호출에서 호출되며(openlog()
가 아직 호출되지 않았다면), ident 와 기타openlog()
매개 변수가 기본값으로 재설정됩니다.
-
syslog.
setlogmask
(maskpri)¶ 우선순위 마스크를 maskpri로 설정하고 이전 마스크값을 반환합니다. maskpri에 설정되지 않은 우선순위 수준으로
syslog()
를 호출하면 무시됩니다. 기본값은 모든 우선순위를 로그 하는 것입니다. 함수LOG_MASK(pri)
는 개별 우선순위 pri에 대한 마스크를 계산합니다. 함수LOG_UPTO(pri)
는 pri까지의 모든 우선순위에 대한 마스크를 계산합니다.
모듈은 다음 상수를 정의합니다:
- 우선순위 수준 (높음에서 낮음 순서):
LOG_EMERG
,LOG_ALERT
,LOG_CRIT
,LOG_ERR
,LOG_WARNING
,LOG_NOTICE
,LOG_INFO
,LOG_DEBUG
.- 시설:
LOG_KERN
,LOG_USER
,LOG_MAIL
,LOG_DAEMON
,LOG_AUTH
,LOG_LPR
,LOG_NEWS
,LOG_UUCP
,LOG_CRON
,LOG_SYSLOG
,LOG_LOCAL0
~LOG_LOCAL7
및<syslog.h>
에 정의되었으면,LOG_AUTHPRIV
.- 로그 옵션:
LOG_PID
,LOG_CONS
,LOG_NDELAY
및<syslog.h>
에 정의되었으면,LOG_ODELAY
,LOG_NOWAIT
및LOG_PERROR
.
예제¶
간단한 예제¶
간단한 예제 집합:
import syslog
syslog.syslog('Processing started')
if error:
syslog.syslog(syslog.LOG_ERR, 'Processing started')
일부 로그 옵션 설정의 예, 이것은 로그 메시지에 프로세스 ID를 포함하며, 메일 로깅에 사용되는 대상 시설로 메시지를 기록합니다:
syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog('E-mail processing initiated...')