Python

syslog — 유닉스 syslog 라이브러리 루틴


이 모듈은 유닉스 syslog 라이브러리 루틴에 대한 인터페이스를 제공합니다. syslog 기능에 대한 자세한 설명은 유닉스 매뉴얼 페이지를 참조하십시오.

가용성: Unix, not WASI, not iOS.

이 모듈은 시스템 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()가 호출됩니다.

인자 priority, message감사 이벤트 syslog.syslog를 발생시킵니다.

버전 3.2에서 변경: In previous versions, openlog() would not be called automatically if it wasn’t called prior to the call to syslog(), deferring to the syslog implementation to call openlog().

버전 3.12에서 변경: syslog() 호출 이전에 :func:`openlog`가 호출되지 않았다면, :func:`openlog`는 인자 없이 호출됩니다.

syslog.openlog([ident[, logoption[, facility]]])

후속 syslog() 호출의 로깅 옵션은 openlog()를 호출하여 설정할 수 있습니다. 로그가 현재 열려 있지 않으면 syslog()는 인자 없이 openlog()를 호출합니다.

선택적 ident 키워드 인자는 모든 메시지 앞에 추가되는 문자열이며, 기본값은 선행 경로 구성 요소가 제거된 sys.argv[0]입니다. 선택적 logoption 키워드 인자(기본값은 0)는 비트 필드입니다 – 결합할 수 있는 가능한 값은 아래를 보십시오. 선택적 facility 키워드 인자(기본값은 LOG_USER)는 명시적으로 인코드 된 시설이 없는 메시지에 대한 기본 시설을 설정합니다.

인자 ident, logoption, facility감사 이벤트 syslog.openlog를 발생시킵니다.

버전 3.2에서 변경: 이전 버전에서는, 키워드 인자가 허용되지 않았고, ident가 필수였습니다.

버전 3.12에서 변경: 이 함수는 서브 인터프리터에서 제한됩니다. (여러 인터프리터에서 실행되는 코드에만 영향을 미치며 대부분의 사용자에게는 제한 사항이 관련이 없습니다.) 이 함수는 메인 인터프리터에서만 호출될 수 있습니다. 서브 인터프리터에서 호출되면 :exc:`RuntimeError`가 발생합니다.

syslog.closelog()

syslog 모듈값을 재설정하고 시스템 라이브러리 closelog()를 호출합니다.

이것은 모듈이 처음 임포트될 때처럼 작동하도록 합니다. 예를 들어, openlog()는 첫 번째 syslog() 호출에서 호출되며(openlog()가 아직 호출되지 않았다면), ident 와 기타 openlog() 매개 변수가 기본값으로 재설정됩니다.

인자 없이 감사 이벤트 syslog.closelog를 발생시킵니다.

버전 3.12에서 변경: 이 함수는 서브 인터프리터에서 제한됩니다. (여러 인터프리터에서 실행되는 코드에만 영향을 미치며 대부분의 사용자에게는 제한 사항이 관련이 없습니다.) 이 함수는 메인 인터프리터에서만 호출될 수 있습니다. 서브 인터프리터에서 호출되면 :exc:`RuntimeError`가 발생합니다.

syslog.setlogmask(maskpri)

우선순위 마스크를 maskpri로 설정하고 이전 마스크값을 반환합니다. maskpri에 설정되지 않은 우선순위 수준으로 syslog()를 호출하면 무시됩니다. 기본값은 모든 우선순위를 로그 하는 것입니다. 함수 LOG_MASK(pri)는 개별 우선순위 pri에 대한 마스크를 계산합니다. 함수 LOG_UPTO(pri)pri까지의 모든 우선순위에 대한 마스크를 계산합니다.

인자 maskpri감사 이벤트 syslog.setlogmask를 발생시킵니다.

모듈은 다음 상수를 정의합니다:

syslog.LOG_EMERG
syslog.LOG_ALERT
syslog.LOG_CRIT
syslog.LOG_ERR
syslog.LOG_WARNING
syslog.LOG_NOTICE
syslog.LOG_INFO
syslog.LOG_DEBUG

우선순위 수준 (높음에서 낮음 순서).

syslog.LOG_AUTH
syslog.LOG_AUTHPRIV
syslog.LOG_CRON
syslog.LOG_DAEMON
syslog.LOG_FTP
syslog.LOG_INSTALL
syslog.LOG_KERN
syslog.LOG_LAUNCHD
syslog.LOG_LPR
syslog.LOG_MAIL
syslog.LOG_NETINFO
syslog.LOG_NEWS
syslog.LOG_RAS
syslog.LOG_REMOTEAUTH
syslog.LOG_SYSLOG
syslog.LOG_USER
syslog.LOG_UUCP
syslog.LOG_LOCAL0
syslog.LOG_LOCAL1
syslog.LOG_LOCAL2
syslog.LOG_LOCAL3
syslog.LOG_LOCAL4
syslog.LOG_LOCAL5
syslog.LOG_LOCAL6
syslog.LOG_LOCAL7

시설, LOG_AUTHPRIV, LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALLLOG_RAS<syslog.h>에 정의되었을 때만 제공됩니다.

버전 3.13에서 변경: LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL, LOG_RASLOG_LAUNCHD를 추가했습니다.

syslog.LOG_PID
syslog.LOG_CONS
syslog.LOG_NDELAY
syslog.LOG_ODELAY
syslog.LOG_NOWAIT
syslog.LOG_PERROR

로그 옵션, LOG_ODELAY, LOG_NOWAITLOG_PERROR<syslog.h>에 정의되었을 때만 제공됩니다.

예제

간단한 예제

간단한 예제 집합:

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...')

분실물 보관소