PHP 8.4.0 RC2 available for testing

openlog

(PHP 4, PHP 5, PHP 7, PHP 8)

openlogAbre conexão com o registrador do sistema

Descrição

openlog(string $prefix, int $flags, int $facility): true

openlog() abre uma conexão com o registrador do sistema para um programa.

O uso de openlog() é opcional. Ela será automaticamente chamada por syslog() se necessário, e nesse caso prefix será padronizado como false.

Parâmetros

prefix

O parâmetro prefix define uma string de prefixo que é adicionado a cada mensagem.

flags

O argumento flags é usado para indicar quais opções de registro serão usadas ao gerar uma mensagem de registro.

Opções de openlog()
Constante Descrição
LOG_CONS se houver um erro ao enviar dados para o registrador do sistema, grava diretamente no console do sistema
LOG_NDELAY abre a conexão com o registrador imediatamente
LOG_ODELAY (padrão) retarda a abertura da conexão até que a primeira mensagem seja registrada
LOG_PERROR exibe mensagem de registro também na saída de erro padrão
LOG_PID inclui PID em cada mensagem
Pode-se usar uma ou mais dessas opções. Ao usar múltiplas opções, basta combiná-las com uma operação binária OR, ou seja, para abrir a conexão imediatamente, escrever no console e incluir o PID em cada mensagem, deve-se usar: LOG_CONS | LOG_NDELAY | LOG_PID

facility

O argumento facility é usado para especificar que tipo de programa está registrando a mensagem. Isto permite que seja especificado (na configuração do syslog da máquina) como as mensagens provenientes de diferentes módulos serão tratadas.

Módulos de openlog()
Constante Descrição
LOG_AUTH mensagens de segurança/autorização (consulte LOG_AUTHPRIV em sistemas onde esta constante estiver definida)
LOG_AUTHPRIV mensagens de segurança/autorização (privadas)
LOG_CRON daemons de relógio ('cron' e 'at')
LOG_DAEMON outros daemons de sistema
LOG_KERN mensagens do kernel
LOG_LOCAL0 ... LOG_LOCAL7 reservadas para uso local, não disponíveis no Windows
LOG_LPR subsistema de impressora de linha
LOG_MAIL subsistemas de e-mail
LOG_NEWS subsistema de notícias USENET
LOG_SYSLOG mensagens geradas internamente pelo syslogd
LOG_USER mensagens genéricas no nível do usuário
LOG_UUCP subsistema UUCP

Nota:

LOG_USER é o único tipo de registro válido nos sistemas operacionais Windows.

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
8.2.0 A função agora sempre retorna true. Anteriormente, retornava false em caso de falha.

Veja Também

  • syslog() - Gera uma mensagem de registro do sistema
  • closelog() - Fecha conexão com o registrador do sistema

add a note

User Contributed Notes 2 notes

up
2
Nimja
11 years ago
To those curious; switching between different facilities is NOT an issue. There is no apparent memory overhead (nor slowdown) by calling openlog multiple(12 * 10000) times.

Shown by this example:

<?php
$facilities
= array(
LOG_AUTH,
LOG_AUTHPRIV,
LOG_CRON,
LOG_DAEMON,
LOG_KERN,
LOG_LOCAL0,
LOG_LPR,
LOG_MAIL,
LOG_NEWS,
LOG_SYSLOG,
LOG_USER,
LOG_UUCP,
);

for (
$i = 0; $i < 10000; $i++) {
foreach (
$facilities as $facility) {
openlog('test', LOG_PID, $facility);
syslog(LOG_ERR, "This is a test: " . memory_get_usage(true));
}
}
?>
up
0
sam dot wankaner at gmail dot com
9 years ago
In second parameter int $option, PI means Process ID (PID).
That is the unique number given to that process. For eg [30326]
To Top