"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como fazer logon em arquivo e Stdout usando o módulo de log Python?

Como fazer logon em arquivo e Stdout usando o módulo de log Python?

Publicado em 01/11/2024
Navegar:853

How to Log to Both File and Stdout using the Python Logging Module?

Log em arquivo e Stdout em Python com o módulo de log

Ao utilizar o módulo de log do Python, é desejável ter saída de mensagens de log não apenas para o arquivo de log especificado, mas também para stdout para visibilidade imediata. Para conseguir isso, o módulo de registro em log fornece uma solução direta.

A configuração de registro em log depende de manipuladores para direcionar a saída. Ao adicionar uma instância logging.StreamHandler() ao criador de logs raiz, é possível enviar mensagens para stdout além de seus destinos pretendidos.

Um exemplo de configuração de um manipulador de stream para saída stdout:

import logging
import sys

# Get the root logger
root = logging.getLogger()

# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)

# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root.addHandler(handler)

Ao implementar esta configuração, torna-se desnecessário duplicar mensagens de log usando métodos logger e instruções de impressão stdout. Registradores como mylogger.critical("something failed") serão gerados no arquivo de log designado e no stdout, fornecendo visibilidade imediata enquanto mantêm práticas de registro adequadas.

Declaração de lançamento Este artigo foi reimpresso em: 1729249097 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3