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
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 chamadaopenlog()
é usado.Se
openlog()
não foi chamado antes da chamada parasyslog()
,openlog()
será chamado sem argumentos.Levanta um evento de auditoria
syslog.syslog
com os argumentospriority
,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 parasyslog()
, adiando a implementação do syslog para chamaropenlog()
.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 desyslog()
pode ser usado em um subinterpretador. Caso contrário, vai levantarRuntimeError
.
- syslog.openlog([ident[, logoption[, facility]]])¶
As opções de log das chamadas subsequentes
syslog()
podem ser definidas chamandoopenlog()
.syslog()
irá chamaropenlog()
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 argumentosident
,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 chamadasyslog()
(seopenlog()
ainda não foi chamado), e ident e outroopenlog()
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çãoLOG_MASK(pri)
calcula a máscara para a prioridade individual pri. A funçãoLOG_UPTO(pri)
calcula a máscara para todas as prioridades até e incluindo pri.Levanta um evento de auditoria
syslog.setlogmask
com o argumentomaskpri
.
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>
paraLOG_AUTHPRIV
,LOG_FTP
,LOG_NETINFO
,LOG_REMOTEAUTH
,LOG_INSTALL
eLOG_RAS
.Alterado na versão 3.13: Adicionados
LOG_FTP
,LOG_NETINFO
,LOG_REMOTEAUTH
,LOG_INSTALL
,LOG_RAS
eLOG_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>
paraLOG_ODELAY
,LOG_NOWAIT
eLOG_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...')