簡體   English   中英

將 Python 子庫輸出重定向到記錄器

[英]Redirect Python sublibrary output to logger

我目前正在使用 Pythons 日志記錄模塊將輸出記錄到文件中,並將其打印到控制台中。 我的問題是一些子庫也在將輸出寫入控制台,這不是我的記錄器捕獲的。 一個示例輸出是:

2022-06-08 16:18:16,990 [INFO] - Main code started
blablabla
2022-06-08 16:18:16,990 [INFO] - Main code finished

我怎樣才能設法讓記錄器也捕獲這個blablabla輸出,而無需訪問子庫的源代碼?

首先,您需要確保庫確實在使用記錄器,而不僅僅是print 從輸出來看,他們似乎正在使用print ,因為該行的格式與其他日志消息不同。

如果他們使用記錄器,您可以簡單地通過以下方式獲取記錄器:

import logging

other_logger = logging.getLogger(...)
# do something with other logger

並適當地配置它。

如果他們只使用打印,那么您就沒有太多事情要做了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM