"syslog" --- Rotinas da biblioteca syslog do Unix
*************************************************

======================================================================

Este módulo fornece uma interface para as rotinas da biblioteca
"syslog" do Unix. Consulte as páginas de manual do Unix para uma
descrição detalhada do recurso "syslog".

Disponibilidade: Unix, not WASI, not iOS.

Este módulo é uma camada para a família de rotinas "syslog" do
sistema. Uma biblioteca Python pura que pode se comunicar com um
servidor syslog está disponível no módulo "logging.handlers" como
"SysLogHandler".

O módulo define as seguintes funções:

syslog.syslog(message)
syslog.syslog(priority, message)

   Envia a string *message* para o registrador do sistema. Uma nova
   linha final é adicionada, se necessário. Cada mensagem é marcada
   com uma prioridade composta por um *facility* e um *level*. O
   argumento opcional *priority*, cujo padrão é "LOG_INFO", determina
   a prioridade da mensagem. Se a facilidade não está codificada em
   *priority* usando o OU lógico ("LOG_INFO | LOG_USER"), o valor dado
   na chamada "openlog()" é usado.

   Se "openlog()" não foi chamado antes da chamada para "syslog()",
   "openlog()" será chamado sem argumentos.

   Levanta um evento de auditoria "syslog.syslog" com os argumentos
   "priority", "message".

   Alterado na versão 3.2: Nas versões anteriores, "openlog()" não
   seria chamado automaticamente se não fosse chamado antes da chamada
   para "syslog()", adiando a implementação do syslog para chamar
   "openlog()".

   Alterado na versão 3.12: Esta função é restrita em
   subinterpretadores. (Apenas o código que executa em vários
   interpretadores é afetado e a restrição não é relevante para a
   maioria dos usuários.) "openlog()" deve ser chamado no
   interpretador principal antes de "syslog()" pode ser usado em um
   subinterpretador. Caso contrário, vai levantar "RuntimeError".

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

   As opções de log das chamadas subsequentes "syslog()" podem ser
   definidas chamando "openlog()". "syslog()" irá chamar "openlog()"
   sem argumentos se o log não estiver aberto no momento.

   O argumento nomeado opcional *ident* é uma string que é prefixada a
   cada mensagem, e o padrão é "sys.argv[0]" com os componentes do
   caminho inicial removidos. O argumento nomeado opcional *logoption*
   (o padrão é 0) é um campo de bits -- veja abaixo os valores
   possíveis para combinar. O argumento nomeado opcional *facility* (o
   padrão é "LOG_USER") define o recurso padrão para mensagens que não
   possuem um recurso explicitamente codificado.

   Levanta um evento de auditoria "syslog.openlog" com os argumentos
   "ident", "logoption", "facility".

   Alterado na versão 3.2: Nas versões anteriores, os argumentos
   nomeados não eram permitidos e *ident* era obrigatório.

   Alterado na versão 3.12: Esta função é restrita em
   subinterpretadores. (Apenas o código que executa em vários
   interpretadores é afetado e a restrição não é relevante para a
   maioria dos usuários.) Isso deve ser chamado no interpretador
   principal.Vai levantar "RuntimeError" se chamado em um
   subinterpretador.

syslog.closelog()

   Redefine os valores do módulo syslog e chama a biblioteca de
   sistema "closelog()".

   Isso faz com que o módulo se comporte como quando importado
   inicialmente. Por exemplo, "openlog()" será chamado na primeira
   chamada "syslog()" (se "openlog()" ainda não foi chamado), e
   *ident* e outro "openlog()" os parâmetros são redefinidos para os
   padrões.

   Levanta um evento de auditoria "syslog.closelog" sem argumentos.

   Alterado na versão 3.12: Esta função é restrita em
   subinterpretadores. (Apenas o código que executa em vários
   interpretadores é afetado e a restrição não é relevante para a
   maioria dos usuários.) Isso deve ser chamado no interpretador
   principal.Vai levantar "RuntimeError" se chamado em um
   subinterpretador.

syslog.setlogmask(maskpri)

   Define a máscara de prioridade como *maskpri* e retorna o valor da
   máscara anterior. Chamadas para "syslog()" com um nível de
   prioridade não definido em *maskpri* são ignoradas. O padrão é
   registrar todas as prioridades. A função "LOG_MASK(pri)" calcula a
   máscara para a prioridade individual *pri*. A função
   "LOG_UPTO(pri)" calcula a máscara para todas as prioridades até e
   incluindo *pri*.

   Levanta um evento de auditoria "syslog.setlogmask" com o argumento
   "maskpri".

O módulo define as seguintes constantes:

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

   Níveis de prioridade (alto a baixo).

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

   Facilidades, dependendo da disponibilidade em "<syslog.h>" para
   "LOG_AUTHPRIV", "LOG_FTP", "LOG_NETINFO", "LOG_REMOTEAUTH",
   "LOG_INSTALL" e "LOG_RAS".

   Alterado na versão 3.13: Adicionados "LOG_FTP", "LOG_NETINFO",
   "LOG_REMOTEAUTH", "LOG_INSTALL", "LOG_RAS" e "LOG_LAUNCHD".

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

   Opções de log, dependendo da disponibilidade em "<syslog.h>" para
   "LOG_ODELAY", "LOG_NOWAIT" e "LOG_PERROR".


Exemplos
========


Exemplo simples
---------------

Um conjunto simples de exemplos:

   import syslog

   syslog.syslog('Processing started')
   if error:
       syslog.syslog(syslog.LOG_ERR, 'Processing started')

Um exemplo de configuração de algumas opções de log, isso incluiria o
ID do processo nas mensagens registradas e escreveria as mensagens no
recurso de destino usado para o log de correio:

   syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
   syslog.syslog('E-mail processing initiated...')
