[英]Python: How to override default logging handler?
假設我有一個類似的記錄器:
logger = logging.getLogger(__name__)
然后,向其中添加文件處理程序。 我希望所有的日志轉到文件和所有的信息和上面登錄屏幕上進行打印。
我知道我應該將文件處理程序的級別設置為logging.INFO。
但是,如果我用logger.setLevel(logging.INFO)
然后調試日志不會去的文件。 如果我使用logger.setLevel(logging.DEBUG)
那么所有調試日志將在絲網印刷。
如何解決這個問題呢?
您應該使用logger.setLevel(logging.DEBUG)
的記錄和handler.setLevel(logging.INFO)
在屏幕處理程序。 這樣,記錄器將獲取所有消息,文件處理程序將獲取所有消息,但屏幕或流處理程序僅獲取INFO
或更高級別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.