我剛開始使用Python日誌記錄模塊,我無法理解某些內容。Python日誌記錄:每個進程的不同日誌記錄目標
我正在寫一個腳本,在工作方式如下:
第1部分(單進程):它得到一些數據來計算(這並不重要如何)。 在這裏,我以下列方式創建一個記錄:
import logging
logging.basicConfig(format='%(asctime)-6s: %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger('Pipeline')
logger.setLevel(logging.INFO)
logger.warning('Pipeline started')
換句話說,我登錄到屏幕上。
第二部分(多處理):我創建了幾個進程(數據分析真的是時間和CPU消耗)來分析之前發現的數據。
現在我希望每個進程都只記錄到不同的文件而不登錄屏幕。
我寫的是:
fh = logging.FileHandler('/tmp/'+multiprocessing.current_process().name+'_worker.log')
fmt = logging.Formatter(%(asctime)-6s: %(name)s - %(levelname)s - %(message)s)
fh.setFormatter(fmt)
local_logger = logging.getLogger(multiprocessing.current_process().name+'_worker')
local_logger.addHandler(fh)
local_logger.warning(multiprocessing.current_process().name + ' (worker) Process started')
我得到了什麼是每個進程的日誌到不同的文件,但日誌也給屏幕!
我該如何解決這個問題?
我可能會補充說,使用basicConfig()可能不是您的情況恕我直言最適合的選擇。正如我的同事傑森指出的那樣,它確實意味着非常簡單的日誌設置。我建議您考慮使用更復雜的方法;通過Google搜索很容易找到幾種方法。 –