tail head cat sleep
QR code linking to this page

Man page  — SYSLOG

명칭

syslog, vsyslog, openlog, closelog, setlogmask – 시스템 로그의 제어

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <syslog.h>
#include <varargs.h>

void
syslog(int priority, const char *message, ...);

void
vsyslog(int priority, const char *message, va_list args);

void
openlog(const char *ident, int logopt, int facility);

void
closelog(void);

int
setlogmask(int maskpri);

해설

syslog() 함수는, 시스템의 메세지 로가-에 메세지를 기록. 그 메세지는, 다음에 상황에 따라 시스템 콘솔, 로그 파일, 로그인한 유저 등에게 쓰기충분해 다른 머신에 전송 됩니다 ( syslogd(8) 참조)

메세지는, ‘%m’ 하지만 현재의 에러 메세지에 의해 옮겨놓을 수 있는 것을 제외하면, printf(3) 포맷 string와 같은 것이 됩니다 (글로벌 변수 errno 에 의해 나타나는 것과 같다. strerror(3) 참조) 아무것도 없는 경우는, 말미에 개행이 추가됩니다.

vsyslog() 함수는, stdarg(3) 의 가변장 인수 기능을 사용해 벌써 인수가 capther 되고 있는 경우의 대체 형식입니다.

메세지에는 우선 순위 ( priority ) 의 태그를 붙일 수 있습니다. 우선 순위는, facility (와)과 level 에 코드화 됩니다. facility (은)는, 메세지를 작성한다 시스템의 일부를 기술합니다. level (은)는, 차례로 되었다 (비싼 (분)편으로부터 낮은 (분)편에게) 다음과 같은 일람으로부터 선택합니다:
LOG_EMERG 패닉상태. 이것은, 통상은 전유저에게 송신됩니다.
LOG_ALERT 망가진 시스템 데이타베이스와 같은, 즉시 시정해야 할 상태.
LOG_CRIT 위험한 상태, 예를 들면 하드 디바이스 에러 등.
LOG_ERR 에러.
LOG_WARNING 경고 메세지.
LOG_NOTICE 에러 상태는 아니지만, 특별히 처리하는 필요성이 생각되는 상태.
LOG_INFO 인포메이션 메세지.
LOG_DEBUG 통상은 프로그램의 디버그 시에 마셔 사용하는 정보가 들어갔다 메세지.

openlog() 함수는, syslog()vsyslog() 에 의해 보내진 메세지에 대해, 보다 특수한 처리를 가하기 위한 것입니다. 파라미터 ident (은)는, 모든 메세지의 전에 부가되는 string입니다. logopt 인수는, 로그 작성 옵션 (을)를 지정하는 비트 필드에서, 다음에 나타내는 값의 1 개(살) 이상을 OR 조작하는 것에 의해 작성됩니다:
LOG_CONS syslog() 하지만 메세지를 syslogd(8) 에 건네줄 수 없는 경우, 콘솔 (" /dev/console") 에 메세지를 기입하는 것을 시도합니다.
LOG_NDELAY syslogd(8) 에의 접속을 즉시 엽니다. 통상은, 최초의 메세지가 로그에 쓰기까지는 여는 조작을 늦춥니다. 이것은, 파일 기술자를 할당하는 차례를 관리할 필요가 있는 프로그램에서는 역에 섭니다.
LOG_PERROR 메세지를, 시스템 로그와 동시에 표준 에러 출력에도 기록.
LOG_PID 각 메세지와 함께 프로세스 ID (을)를 로그 합니다. demon의 인스턴스화를 식별하기 위해서 도움이 됩니다.

facility 파라미터는, 명시적인 퍼실리티가 코드화되어 있지 않은 모든 메세지에 할당하는 디폴트 퍼실리티를 코드화합니다:
LOG_AUTH 권한 부여 시스템: login(1) , su(1) , getty(8) , 등.
LOG_AUTHPRIV
  LOG_AUTH (와)과 같습니다만, 한정된 개인만이 읽을 수 있다 파일에 로그 합니다.
LOG_CONSOLE 커널 콘솔 출력 드라이버가, 메세지를 /dev/console 에 기입합니다.
LOG_CRON cron demon: cron(8)
LOG_DAEMON routed(8) (와)과 같은, 다른 퍼실리티에서는 명시적으로 준비되어 있지 않은 시스템 demon.
LOG_FTP 파일 전송 프로토콜 demon: ftpd(8) , tftpd(8)
LOG_KERN 커널에 의해 생성되는 메세지. 이것들은, 어떤 사용자 프로세스에 의해도 생성할 수 없습니다.
LOG_LPR 라인 프린터-의 스프링시스템: lpr(1) , lpc(8) , lpd(8) , 등.
LOG_MAIL 메일 시스템.
LOG_NEWS 네트워크 뉴스 시스템.
LOG_SECURITY
  보안 하부조직입니다. 예를 들면 ipfw(4) [영어] 입니다.
LOG_SYSLOG syslogd(8) 에 의해 내부적으로 생성된 메세지.
LOG_USER 임의의 사용자 프로세스에 의해 생성된 메세지. 아무것도 지정되어 있지 않은 경우는, 이것은 디폴트의 퍼실리티 식별자가 됩니다.
LOG_UUCP uucp 시스템.
LOG_LOCAL0 로컬의 사용을 위해서(때문에) 예약. LOG_LOCAL1 (으)로부터 LOG_LOCAL7 까지 붙어도 같다.

closelog() 함수는, 로그 파일을 닫기 위해서(때문에) 사용할 수가 있습니다.

setlogmask() 함수는, 로그 우선 순위 마스크를 maskpri (으)로 설정해, 이전의 마스크를 돌려줍니다. maskpri (으)로 설정되어 있지 않은 우선 순위를 가졌다 syslog() 에의 호출은 거절됩니다. 개별의 우선 순위 pri (을)를 위한 마스크는, 매크로 LOG_MASK(pri) 에 의해 계산됩니다. toppri 자체를 포함한다 toppri 까지의 모든 우선 순위에 대한 마스크는, 매크로 LOG_UPTO(toppri) 에 의해 주어집니다. 디폴트에서는, 모든 우선 순위를 로그 하는 것을 허가합니다.

반환값

routine closelog() , openlog() , syslog() , 및 vsyslog() (은)는, 값을 돌려주지 않습니다.

routine setlogmask() (은)는, 항상 전의 로그 마스크 레벨을 돌려줍니다.

syslog(LOG_ALERT, "who: internal error 23");

openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP);

setlogmask(LOG_UPTO(LOG_ERR));

syslog(LOG_INFO, "Connection from host %d", CallingHost);

syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m");

참조

logger(1), syslogd(8)

역사

이러한 함수는 BSD 4.2 에 나타났습니다.

SYSLOG (3) June 4, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.