Python tem um módulo embutido nomeado exploração madeireira Para obter as informações de log para qualquer aplicativo Python. É um módulo muito útil para o programador Python iniciante ou experiente para imprimir a mensagem de status para o fluxo de saída ou em um arquivo. A maioria das bibliotecas Python de terceiros usa este módulo para gerar informações de log para o aplicativo Python. Como você pode usar este módulo é mostrado neste artigo usando 25 exemplos simples de registro de python.
Lista de exemplos de registro:
getLogger () A função é usada para criar um objeto de registrador. Esta função pode ser chamada com o nome do Logger ou sem nome de madeireiro. O nome do logger padrão é raiz. No exemplo a seguir, o objeto de registrador é criado com um nome de madeireiro e sem um nome de madeireiro usando getLogger (). Aqui, três mensagens de aviso serão impressas. A raiz imprimirá como um nome de madeireiro para a primeira e segunda mensagem de aviso. A terceira mensagem de aviso será impressa com o nome do Logger atribuído na função getLogger ().
Exemplo 1.py
#import móduloExecute o script do terminal.
$ python Exemplo1.pySaída:
O nome do logger padrão é 'root' e quando o objeto de registrador é criado sem qualquer nome, o madeireiro denominado também é 'root'. Então, a saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando o BasicConfig ()
BasicConfig () A função é usada para configurar as opções de registro do logger da raiz. Diferentes tipos de configuração básica podem ser feitos por esta função. formato, nível, nome do arquivo, etc. são os argumentos mais usados desta função. formatar é usado para formatar a saída da mensagem de log. nível é usado para definir o nível de log. nome do arquivo é usado para enviar a saída da mensagem de log para um arquivo em vez do console. Os usos de formatar e nível Os argumentos são mostrados no exemplo a seguir.
Exemplo2.py
#Importing MóduloExecute o script do terminal.
$ python exemplo2.pySaída:
Aqui o mensagem está definido no formatar argumento e o registro nível está configurado para DEPURAR. A mensagem de depuração a seguir será impressa como saída após a execução do script.
Vá para o topo
Usando Setlevel ()
Setlevel () A função é usada para definir o nível de log. Seis níveis podem ser definidos por esta função. Estes são Debug (10), Info (20), Aviso (30), Erro (40), Crítico (50) e Notset (0). O nível padrão é definido como NotSet quando qualquer objeto de logger é criado e as mensagens são processadas com base no logger de root se nenhum nome de logger for definido. O registrador de raiz processa mensagens para aviso, erro e nível crítico por padrão. Como você pode alterar o nível atual do logger usando Setlevel () A função é mostrada no exemplo a seguir. Aqui, as mensagens de depuração e alerta são impressas antes e depois de definir o nível de log no script.
Exemplo3.py
#import móduloExecute o script do terminal.
$ python exemplo3.pySaída:
A primeira mensagem de depuração do script não imprimirá o nível de logger padrão e a segunda mensagem de depuração será imprimida para definir o nível do registrador para depurar. A seguinte saída será exibida
Depois de executar o script.
Vá para o topo
Usando geteffectivelevel ()
geteffectivelevel () A função é usada para recuperar o valor atual do nível de log. Se o nível de log atual estiver definido como NotSet, o objeto Logger pesquisará o nível de log do logger da raiz. Se nada encontrado para o logger de root, o valor do nível de log do notSet será retornado. Como você pode usar geteffectivelevel () Para ler o nível de log atual, é mostrado no exemplo a seguir. Aqui, esta função é chamada antes e depois de definir o nível de log.
Exemplo4.py
#Importing MóduloExecute o script do terminal.
$ python exemplo4.pySaída:
A saída a seguir aparecerá após a execução do script. A saída mostra que o nível de log padrão está alertando (30) e o nível de log é depuração (10) depois de definir o nível.
Vá para o topo
Usando isenabledfor ()
isenabledfor () A função é usada para verificar qualquer nível de log está ativado ou desativado atualmente. O exemplo a seguir verificará primeiro o nível de informação está ativado ou não. Informações e níveis de depuração não são ativados por padrão. Então, a saída de isenable para () A função será falsa. Em seguida, o nível de log está definido como informações e isenabledfor () retornará verdadeiro para a última declaração.
Exemplo5.py
#Importing MóduloExecute o script do terminal.
$ python exemplo5.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando Debug ()
depurar() A função é usada para imprimir informações detalhadas após o diagnóstico de problemas do script. O valor numérico de DEPURAR O nível é 10 e você deve definir esse nível para fazer depurar() função ativa. O uso desta função é mostrado por um script simples no exemplo a seguir. Aqui, o nível de log está definido como depuração para imprimir a mensagem de depuração. check_even () função é definida para verificar se o número de entrada é par ou ímpar. Se o número não for mesmo, a função emitirá uma mensagem de depuração, caso contrário, nenhum.
Exemplo6.py
#import móduloExecute o script do terminal.
$ python exemplo6.pySaída:
O script é executado por horários com um número par de um número ímpar. Quando 55 é tomado como entrada, ele imprime a mensagem de depuração e quando 12 é tomada como entrada, nenhuma mensagem é passada.
Vá para o topo
Usando info ()
info () A função é usada para fornecer uma mensagem bem -sucedida ou geral ao usuário para confirmar que o código está funcionando corretamente. O valor numérico de Informações O nível é 20 e você deve definir esse nível antes de usar info () função. O uso desta função é mostrado no exemplo a seguir. Aqui, dois valores numéricos são atribuídos em duas variáveis x e y. Uma função personalizada 'Adição'é declarado para calcular a soma de x e y. info () A função é usada para chamar a função e imprimir o resultado da soma.
Exemplo7.py
#import móduloExecute o script do terminal.
$ python exemplo7.pySaída:
Aqui, nenhum objeto de logger é criado. Portanto, o registro padrão é raiz e a soma de x e y é 50. A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando aviso ()
aviso() A função é usada quando ocorre um problema inesperado ou para avisar o usuário para o problema futuro. O valor numérico do nível de aviso é 30. A função Warning () funciona para o madeireiro padrão. O uso desta função é mostrado no exemplo a seguir. Aqui, o nível de log está definido como aviso no início do script. Este script calculará a área do círculo com base no valor do raio tomado. Se o valor do raio for zero, uma mensagem de aviso imprimirá, caso contrário, a área do círculo imprimirá.
Exemplo8.py
#import móduloExecute o script do terminal.
$ python exemplo8.pySaída:
O script é executado duas vezes na saída com os valores do raio, 0 e 4. A mensagem de aviso é impressa quando o valor do raio é 0 e o valor da área é impresso quando o raio é 4.
Vá para o topo
Usando erro ()
erro() A função é usada quando existe algum problema sério no script. O nível numérico de erro é 40. erro() A função funciona para o logger padrão. O exemplo a seguir mostra o uso do erro() função. A função do script é tomar um nome de arquivo existente como entrada e imprimir o conteúdo do arquivo. OS.caminho O módulo é usado para ler qualquer arquivo em python. Então, este módulo é importado primeiro. Aqui, se o nome do arquivo que tomará como entrada não existir no sistema, a mensagem de erro será impressa, caso contrário, o conteúdo do arquivo será impresso.
Exemplo9.py
#import OS.Módulo de caminhoExecute o script do terminal.
$ python exemplo9.pySaída:
O script é executado duas vezes na seguinte saída. Pela primeira vez, o nome do arquivo que é dado como entrada não existe no sistema e a mensagem de erro é impressa. Pela segunda vez, o nome do arquivo que é obtido como entrada existe no sistema e o conteúdo do arquivo é impresso.
Vá para o topo
Usando crítico ()
Crítica () A função também é usada para indicar o problema sério que pode interromper a execução do script. O nível de log de crítico é 50. crítico() A função funciona para o logger padrão. O uso desta função é mostrado no exemplo a seguir. Aqui, dois valores de entrada serão retirados do usuário como dividendo e divisor. Se o valor do divisor for 0, ocorrerá um erro crítico e uma mensagem crítica será impressa.
Exemplo10.py
#import móduloExecute o script do terminal.
$ python Exemplo10.pySaída:
O script é executado duas vezes na seguinte saída. Quando 78 e 0 são tomados como entrada, a mensagem crítica de erro é impressa. Quando 24 e 2 são tomados como entrada então 12.0 é impresso como saída.
saída.
Vá para o topo
Registrando em um arquivo
A saída do registro mostra no console por configuração padrão. Mas você pode armazenar a saída do registro em um arquivo usando o nome do nome do arquivo do BasicConfig (). Como você pode armazenar informações de registro em um arquivo é mostrado no exemplo. Aqui, 'meu.registro'é atribuído como nome do arquivo e armazenado no argumento do nome do arquivo de BasicConfig (). O nível de registro está definido como depuração. Depois de executar o script, 'meu.registro' O arquivo será criado e as mensagens de log serão armazenadas no arquivo.
Exemplo11.py
#Import Módulo de logExecute o script e visualize o conteúdo de meu.registro arquivo do terminal.
$ python Exemplo11.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando a variável no log
Quaisquer dados do script podem ser adicionados ao log usando a variável no python. Este exemplo mostra como você pode passar qualquer variável python na mensagem de log. Este script a seguir levará duas entradas de string dos usuários como nome de usuário e senha. Se os valores de entrada corresponderem aos valores mencionados no script, ele imprimirá uma mensagem de log de erros passada com o valor de Errmsg variável. Se os valores não corresponderem, ele imprimirá uma mensagem de log de informações com o valor da mesma variável.
Exemplo12.py
#Import móduloExecute o script do terminal.
$ python Exemplo12.pySaída:
O script é executado duas vezes com os dados válidos e dados inválidos na seguinte saída. Quando 'admin' e 'segredo'são passados como nome de usuário e senha que são dados inválidos, então armazenaram uma mensagem de falha na variável, Errmsg. Quando 'fahmida ' e 'segredo' são passados como nome de usuário e senha como entrada que são dados válidos, uma mensagem de sucesso é armazenada na variável, Errmsg. O valor de Errmsg é impresso com a mensagem de erro de log para falha e com a mensagem de informações de log para o sucesso.
Vá para o topo
Usando a exceção ()
exceção() A função é usada no log se o script python contiver código de manipulador de exceção. Funciona como Error () Função do registro. A diferença é que exceção() A função exibe o rastreamento da pilha junto com sua saída. O uso desta função é mostrado no exemplo a seguir. O script a seguir assumirá um valor numérico como entrada e aumentará uma exceção se o valor de entrada for negativo. Aqui, exceção() Função imprimirá a mensagem de exceção por exceção por exceção.
Exemplo13-Py
#Import Módulo de logExecute o script do terminal.
$ python Exemplo13.pySaída:
Quando o script é executado com o valor -89 que é negativo, ele lançou uma exceção e imprimiu o rastreamento da pilha e a saída de exceção. Quando o script é executado com o valor 13 que é positivo, nenhuma mensagem é impressa.
Vá para o topo
Criando manipulador
As entradas de log podem ser tratadas de maneiras diferentes usando manipuladores diferentes. Os manipuladores mais usados para a exploração são FileHandler e STREAMHANHEDLER. FileHandler é usado para enviar as entradas de log para um arquivo e STREAMHANHEDLER é usado para enviar as entradas de log para console. Os usos desses manipuladores são mostrados no exemplo a seguir. Neste script, o nível de depuração está definido para FileHandler O nível de objeto e informação está definido para STREAMHANHEDLER objeto. Para isso, as mensagens de depuração e informações serão armazenadas no LogData.registro A mensagem de arquivo e informações será impressa no console.
Exemplo14.py
#import móduloExecute o script e visualize o conteúdo de 'logdata.Log 'arquivo do terminal.
$ python Exemplo14.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando o formatter ()
Formatter () A função é usada para configurar o conteúdo e a estrutura dos dados de log. Como você pode usar Formatter () função para configurar os dados de log de FileHandler O objeto é mostrado no exemplo a seguir. Aqui, Formatter () é usado para formatar os dados de log com tempo de criação, nome do logger e mensagem de log. mylog.registro O arquivo será criado após a execução do script e as mensagens de log formatadas serão armazenadas no arquivo.
Exemplo15.py
#import móduloExecute o script e visualize o conteúdo de 'logdata.Log 'arquivo do terminal.
$ python Exemplo15.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando Logrecord.getMessage ()
Quando qualquer coisa é registrada pelo logger, o objeto LogreCocd é criado automaticamente. A função MakerCord () pode ser usada para criar objeto LogreCord manualmente. Objeto Logrecord contém muitos atributos e getMessage () função. Quando o objeto Logrecord é criado manualmente getMessage () Retorna a mensagem do objeto Logrecord com base nos argumentos aprovados pelo usuário. O exemplo a seguir mostra o uso de getMessage () função.
Exemplo16.py
#import móduloExecute o script do terminal.
$ python Exemplo16.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - args
args atributo armazena os argumentos passados para o objeto Logrecord. Os valores de args são mesclados msg atribuir para produzir o valor de mensagem atributo quando o objeto LogRecord cria automaticamente. O valor de atributo de args pode ser lido criando um objeto Logrecord manualmente. No exemplo seguinte, um objeto Logrecord nomeado Logrecord é criado manualmente por dados definidos pelo usuário e o valor do argumento é impresso por args atributo.
Exemplo17.py
#Import móduloExecute o script do terminal.
$ python Exemplo17.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - Asctime
asctime O atributo é usado para armazenar o tempo em que qualquer Logrecord cria. Ele armazenou a data, a hora e as horas em milissegundos após criar qualquer objeto de registrador. O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(asctime) s'.
Exemplo18.py
#Import móduloExecute o script do terminal.
$ python Exemplo18.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - nome do arquivo
nome do arquivo atributo é usado para recuperar a parte do nome do arquivo do caminho. O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(nome do arquivo) s'.
Exemplo19.py
#Import móduloExecute o script do terminal.
$ python Exemplo19.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - funcname
funcname atributo é recuperar o nome da função de onde o registro é chamado. O exemplo seguinte mostra o uso deste atributo. Aqui, o objeto de registrador é criado na função, mylog_func (). O formato deste atributo é '%(funcname) s'.
Exemplo20.py
#Import móduloExecute o script do terminal.
$ python exemplo20.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - Lineno
Lineno o atributo é usado para recuperar o número da linha de onde o registro é chamado. Ele retornará um valor numérico. O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(lineno) s'.
Exemplo21.py
#Import móduloExecute o script do terminal.
$ python Exemplo21.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - Módulo
módulo O atributo é usado para recuperar apenas o nome do arquivo sem uma extensão do caminho do arquivo. O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(módulo) s'.
Exemplo22.py
#Import móduloExecute o script do terminal.
$ python Exemplo22.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos Logrecord - Nome
nome O atributo é usado para recuperar o nome do registrador que é usado na função getLogger (). O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(nome) s'.
Exemplo23.py
#Import móduloExecute o script do terminal.
$ python Exemplo23.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando atributos de Logrecord - Nome do PathNe
Nome do caminho O atributo é usado para recuperar o caminho do local do arquivo. O exemplo a seguir mostra o uso deste atributo. O formato deste atributo é '%(Pathname) S'.
Exemplo24.py
#Import móduloExecute o script do terminal.
$ python Exemplo24.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
Usando log.desativar
A função desabille () é usada para desativar toda a chamada de registro para o nível específico. Por exemplo, se for chamado com nível de informação, todas as mensagens de log de informações, aviso, erro e crítica serão ignoradas para todos os madeireiros. O uso desta função é mostrado no exemplo a seguir. A mensagem de aviso está ativada para o logger padrão. Portanto, a segunda mensagem de aviso não será impressa após desativar o nível de aviso.
Exemplo25.py
#Importing MóduloExecute o script do terminal.
$ python Exemplo25.pySaída:
A saída a seguir aparecerá após a execução do script.
Vá para o topo
As informações de registro ajudam o codificador a identificar os vários problemas do código e resolver o problema rapidamente. O programador Python deve aprender as opções de registro do Python para tornar seu código mais apropriado. Os usos básicos do registro do Python são mostrados neste artigo usando 25 exemplos diferentes. Espero que este artigo ajude os leitores a se inscrever para registrar dados em seu código Python corretamente.