Forum und email
syslog

syslog

(PHP 3, PHP 4, PHP 5)

syslog -- Vygeneruje zprávu do systémového protokolu

Popis

bool syslog ( int priority, string message )

syslog() vygeneruje zprávu do protokolu, která se distribuuje prostřednictvím démona systémového protokolu. priority představuje kombinaci charakteru a úrovně zprávy; hodnoty popisuje následující sekce. Zbývající argument je zpráva, která se má odeslat. Dva znaky ve zprávě (%m) se však nahradí řetězcem chybové zprávy (strerror) odpovídající aktuální hodnotě errno.

Tabulka 1. syslog() Priority (v klesajícím pořádku)

KonstantaPopis
LOG_EMERGsystém je nepoužitelný
LOG_ALERTje nutný okamžitý zásah
LOG_CRITkritická situace
LOG_ERRchyba
LOG_WARNINGvarování
LOG_NOTICEnormální, avšak významná, zpráva
LOG_INFOinformativní zpráva
LOG_DEBUGladicí zpráva

Příklad 1. Použití syslog()

<?php
define_syslog_variables
();
// otevře syslog, vloží ID procesu a odešle také na standardní chybový
// výstup; použije uživatelsky definovaný protokolovací mechanismus
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// nějaký kód

if (authorized_client()) {
    
// něco udělej
} else {
    
// neautorizovaný klient!
    // zaznamenej pokus o přístup
    
$access = date("Y/m/d H:i:s");
    
syslog(LOG_WARNING,"Neautorizovaný klient: $access $REMOTE_ADDR ($HTTP_USER_AGENT)");
}

closelog();
?>
Více informací o nastavení uživatelské obsluhy protokolování -- viz unixovou manuálovou stránku syslog.conf(5). Více informací o možnostech a volbách mechanismu syslog najdete (na unixových strojích) v manuálových stránkách pro syslog(3).

Na Windows NT je služba syslog emulována pomocí služby Event Log.

Viz také define_syslog_variables(), openlog() a closelog().