Python Logging Setlevel

Python Logging Setlevel

O pacote Python da Biblioteca Comum oferece a capacidade de lidar com a estrutura para emitir as informações de log dos programas Python. O registro é principalmente importante para acompanhar dados, erros e exceções. Ajuda a depurar também. O registro é o termo simples para qualquer coisa que rastreamos e colecionamos. Portanto, coletando informações, tanto o que já temos e o que obteremos durante todo o processamento, nos ajudará a depurar. Na exploração madeireira, existem cinco níveis predeterminados que serão discutidos neste artigo.

Trabalhando no login no Python

Assim como um login de administrador do aplicativo, o tempo e o nome são inseridos em um arquivo que é então registrado salvando o arquivo. Isso implica que, enquanto nossos dados estiverem sendo coletados, saberemos quem o administrador está conectado naquele momento, e poderemos salvar suas informações de logout também. Portanto, esta é uma informação essencial que podemos gravar e salvar em um arquivo de log para qualquer momento de login ou logout do administrador. Semelhante a isso, ocasionalmente encontramos um erro específico no código. Para abordar isso, criamos um log, inserimos os dados e informações relevantes e configuramos o cenário de modo que, se o erro ocorrer, uma mensagem de erro será exibida. Quando isso acontece, a mensagem é salva no arquivo de log, que podemos acessar para ver o arquivo de log e identificar e corrigir rapidamente o erro. O registro é normalmente definido da mesma maneira em todas as linguagens do computador. Devemos usar o módulo de madeira do Python, se desejarmos acompanhar os erros. A biblioteca de madeira para Python precisa ser importada, conforme mostrado na figura a seguir:

Também podemos importar o registro escrevendo “De Logging Import *”. Seguindo em frente, vamos falar sobre o método de nível setlevel de log do Python.

Método BasicConfig (** Kwargs)

O sistema de registro está configurado usando esta técnica.

Sintaxe para o BasicConfig:

Podemos utilizar os numerosos parâmetros "BasicConfig () nos parênteses. Consequentemente, vamos falar sobre seus parâmetros e definir o propósito de cada um.

nome do arquivo: Em vez de construir um manipulador de fluxo, ele instrui que um FileHandler seja construído com o nome do arquivo fornecido. Este argumento é usado para especificar o nome do arquivo de log recém -gerado, e seu valor é o nome do arquivo que é colocado dentro dos parênteses. Também podemos utilizar o caminho, o que indica o local em que queremos criar um arquivo, usando o parâmetro "nome do arquivo". A ordem em que esse argumento é escrito é "nome do arquivo" primeiro, depois o sinal de igual ("="), depois as vírgulas invertidas. Damos nosso arquivo com qualquer nome que escolhemos colocando -o entre as vírgulas invertidas.

Filemode: Abra o arquivo neste modo se o nome do arquivo for fornecido - "a" é por padrão, mas "w" pode ser escrito também. Isso indica o modo padrão no qual o arquivo é criado, que é o modo anexado. No entanto, podemos abrir o arquivo no modo de gravação escrevendo "w". Um arquivo pode ser aberto no modo de gravação, escrevendo primeiro o "Filemode", depois usando o sinal igual ("=") e depois escrevendo o "W" entre as vírgulas invertidas. Os dados anteriores também são visíveis no arquivo quando o abrirmos no modo anexado, mas serão removidos quando o abrirmos no modo de gravação.

Nível: Defina o nível do registrador de raiz, conforme desejado. Existem diferentes níveis produzidos nele, como um nível de "informação", nível "Debug", nível de "aviso", nível de "erro" e nível "crítico".

formatar: Use a string de formato do manipulador selecionado. Os dados que são mantidos no arquivo de log tem um formato específico porque o definimos de acordo.

datefmt: Use o formato de data e hora que foi definido ao longo de “tempo.strftime () ”. Descrevemos o formato de data e hora em palavras simples.

Estilo: Use este estilo para a sequência do formato se o formato for fornecido com um "%", "" ou "$" para estilo de impressão, str.formato () ou string, respectivamente. O modelo apropriado geralmente é definido como "%".

Existem muitos outros parâmetros além deles, como "Stream", "Manipuladores" e "Force", mas não os utilizaremos neste contexto.

Níveis de registro

A biblioteca padrão python também inclui o módulo de registro. Só precisamos importar log para começar. Existem cinco níveis de registro comuns que, por padrão, representam a importância das ocorrências. Esses níveis são:

  1. NOTSET - Seu nível em numérico é 0
  2. DEPURAR - Seu nível em numérico é 10
  3. Informações - Seu nível em numérico é 20
  4. AVISO - Seu nível em numérico é 30
  5. ERRO - Seu nível em numérico 40
  6. CRÍTICO - Seu nível em numérico 50

Nosso nível é por padrão definido como "30", que está na categoria "Aviso". Podemos exibir "aviso", "erro" e "crítico" em nosso arquivo de log, porque nosso conjunto de nível padrão é "30", que é "aviso". Mas não podemos exibir "Debug" e "Info". Para exibir "Info" e "Debug", devemos primeiro alterar o nível para "Debug", onde todos os dados acima desse nível são inseridos. No momento, o nível é um aviso; portanto, todos os dados acima desse nível são inseridos.

Vamos agora começar a colocar o script em ação. Primeiro, importamos o registro, o que implica que tudo do módulo de log é importado. Então, na linha seguinte, usamos o “log.Debug "e passe a mensagem" Esta é uma mensagem de depuração "em seus parênteses. Então, na linha seguinte, usamos o “log.informação "e passe a mensagem" Esta é uma mensagem informativa ". Ambos são os níveis de sete, mas não aparecem no console porque o nível padrão é "30", que é um "aviso". Como resultado, o console mostra os dados acima do aviso cujos níveis numéricos são "40" e "50".

Você pode ver que não exibirá nada na saída porque usamos o nível "Debug" e "Info". O nível foi definido como "Aviso" por padrão "Nível 30".

A mensagem "Esta é uma mensagem de aviso" foi fornecida ao "registro.Aviso ”na segunda seção do código, onde agora usamos os níveis restantes de log. Então, na linha seguinte, usamos o “log.erro ”e passe a frase“ esta é uma mensagem de erro ”dentro de seus parênteses. Em seguida, usamos o “registro.crítico ”e passa a frase“ usuários estão em dificuldades ”dentro de seus parênteses. Agora, quando executamos esse script, ele exibe o aviso, erro e mensagens críticas, já que o nível padrão é "30", que é um aviso. Ele não exibe as mensagens de depuração ou informação porque elas estão abaixo do nível de aviso.

Agora que o texto padrão é exibido, como você pode ver na imagem a seguir, ele é exibido em um arquivo de log. Portanto, os níveis "aviso", "erro" e "críticos" são mostrados aqui. "ROOT" é o nome do madeireiro. Depois disso, a mensagem é mostrada. Explicamos por que os níveis de "Debug" e "Info" não são exibidos na explicação anterior.

Para armazenar ou exibir todos os dados acima da depuração, incluindo "Debug", "Info", "Aviso", "Erro" e "Crítico", agora definimos o nível "Debug" para exibir os dados acima da depuração. Desde que usamos o “log.BasicConfig ”para esse fim e deu o“ nível = ”depuração” como seu valor, a saída agora exibe todos os níveis e mensagens:

A saída mostra com sucesso todos os níveis. Os dados acima da depuração são mostrados, os nomes dos níveis são mostrados, primeiro o madeireiro é a raiz e, em seguida, as mensagens são mostradas.

Agora, demonstramos como as mensagens são formatadas. O formato aceita uma string com qualquer combinação de propriedades do LogreCord. Demos o formato ao mesmo script na próxima etapa. Para isso, depois de importar registro, usamos o "formato de log" na linha a seguir. Em seguida, usamos uma string com atributos "Logrecord" na ordem em que gostamos. Primeiro, usamos "asctime". Porque está em uma string, usamos "s". E usamos o símbolo percentual porque usamos o estilo percentual. Em seguida, usamos o "namename", que exibe o nome do nível. Em seguida, usamos "nome", que exibe o nome do madeireiro. Em seguida, usamos "lineno", que exibe o número da linha. Vamos executar o script agora.

Ele mostra a formatação que foi especificada no script. A data e a hora foram exibidas primeiro, depois os nomes de nível, o primeiro nível sendo "Debug" e o nome do madeireiro, "root". Depois disso, ele exibe "7" como seu número de linha antes de mostrar a mensagem porque, como você pode ver no script anterior, a palavra "Debug" é usada na linha sete. A formatação de mensagens semelhante é mostrada para os níveis restantes.

Conclusão

Neste artigo, cobrimos os níveis de mira Python. Temos um total de seis níveis de conjunto e conversamos sobre cinco deles: "Debug", "Info", "Aviso", "Erro" e "Crítico". Nosso nível é por padrão definido como "30", que é o aviso de nível, por isso exibe os dados acima do aviso. Discutimos neste artigo que também podemos exibir os dados de "Debug" e acima da depuração, definindo o nível BasicConfig para depurar. Além disso, discutimos como formatar as mensagens em diferentes níveis usando os atributos "LogreCords".