我的項目由一個main.py主腳本和一個模塊aaa.py組成。我通過使用main.py中的日誌包成功設置了一個日誌過程,同時指定了一個日誌文件名。日誌包 - 在主模塊和模塊之間共享日誌文件 - python 3
哪種方法讓aaa.py中包含的函數能夠寫入同一個日誌文件是最簡潔/「正確」的方式?
我的項目由一個main.py主腳本和一個模塊aaa.py組成。我通過使用main.py中的日誌包成功設置了一個日誌過程,同時指定了一個日誌文件名。日誌包 - 在主模塊和模塊之間共享日誌文件 - python 3
哪種方法讓aaa.py中包含的函數能夠寫入同一個日誌文件是最簡潔/「正確」的方式?
通過定義
logger = logging.getLogger(__name__)
通過定義
logger = logging.getLogger()
fh = logging.FileHandler("path/to/file")
logger.addHandler(fh)
然後在aaa.py使用一個模塊記錄儀使用根記錄在main.py記錄器不必具有相同的名稱該模塊,但這是常見的做法。子模塊記錄器將自動啓動到根記錄器併發送給任何處理程序。
引述來自docs
子logger消息傳播了與他們的祖先記錄器相關的處理程序。因此,不必爲應用程序使用的所有記錄器定義和配置處理程序。爲頂級記錄器配置處理程序並根據需要創建子記錄器就足夠了。
如果您一次(main.py)
那麼你根本就一次定義日誌記錄配置僅調用一個python腳本;對於爲例:
logging.basicConfig(filename=logfilepath, format='%(levelname)s:%(message)s')
,並調用它,無論你在想要的模塊,用於爲例
logging.<level>("log_string")