syslog în PHP

Scrie un mesaj în jurnalul sistemului, cu un nivel de importanță.

Sintaxă
syslog(int $priority, string $message): true

Ce face syslog

syslog trimite mesajul către jurnalul sistemului de operare, unde ajung și mesajele altor programe. Nivelul arată cât de grav este: LOG_DEBUG, LOG_INFO, LOG_NOTICE, LOG_WARNING, LOG_ERR, LOG_CRIT, LOG_ALERT, LOG_EMERG.

Pe Windows, mesajele ajung în Event Log. Dacă vrei ca și erorile PHP să meargă acolo, setezi error_log = syslog în php.ini.

Parametri

Parametru Descriere
$priority Nivelul mesajului, de exemplu LOG_ERR.
$message Textul mesajului.

Ce returnează

Întotdeauna true.

Exemple

Exemplul 1: O eroare de plată în jurnalul sistemului

<?php
openlog("magazin", LOG_PID, LOG_LOCAL0);
syslog(LOG_ERR, "Plata pentru comanda 1025 a fost respinsă");
closelog();

Linia apărută în jurnalul sistemului

Oct 19 14:07:40 web01 magazin[48213]: Plata pentru comanda 1025 a fost respinsă

Greșeli frecvente

  • Scrii date personale (parole, numere de card) în jurnal. Jurnalul sistemului e citit de administratori și păstrat mult timp.

Comenzi înrudite

  • openlog: Pregătește scrierea în jurnalul sistemului (syslog), cu un prefix pentru toate mesajele.
  • closelog: Închide conexiunea către jurnalul sistemului, deschisă cu openlog.
  • error_log: Scrie un mesaj în jurnalul de erori al serverului sau într-un fișier ales de tine.