有沒有辦法做到這一點?如果logging.config.fileConfig('some.log')
是setter,那麼getter是什麼?只是好奇,如果這存在。如何獲取Python日誌記錄模塊當前正在記錄的文件?
7
A
回答
5
logging.config.fileConfig('some.log')
將嘗試從some.log中讀取日誌配置。
我不相信有一種通用的方法來檢索目標文件 - 它並不總是保證要去一個文件。 (它可以去系統日誌,通過網絡等)
8
我需要做一個非常簡單的日誌環境類似的東西,下面的程序做的伎倆
def _find_logger_basefilename(self, logger):
"""Finds the logger base filename(s) currently there is only one
"""
log_file = None
parent = logger.__dict__['parent']
if parent.__class__.__name__ == 'RootLogger':
# this is where the file name lives
for h in logger.__dict__['handlers']:
if h.__class__.__name__ == 'TimedRotatingFileHandler':
log_file = h.baseFilename
else:
log_file = self._find_logger_basefilename(parent)
return log_file
我一直在尋找的文件由TimedRotatingFileHandler使用,您可能需要更改要搜索的處理程序的類型,可能是FileHandler。
不知道它會在任何類型的複雜日誌環境中如何去。
-1
在我的情況下,我曾經初始化一個記錄器(在我的主腳本中),並通過執行locallogger = logging.getLogger(__name__)
在我的所有包中使用它。在此設置,以獲得日誌文件路徑,我不得不修改@約翰的回答如下
def find_rootlogger_basefilename():
"""Finds the root logger base filename
"""
log_file = None
rootlogger = logging.getLogger('')
for h in rootlogger.__dict__['handlers']:
if h.__class__.__name__ == 'FileHandler':
log_file = h.baseFilename
break
elif h.__class__.__name__ == 'TimedRotatingFileHandler':
log_file = h.baseFilename
break
return log_file
5
對於我的一個文件日誌的基本用法,這個工作
logging.getLoggerClass().root.handlers[0].baseFilename
0
下面簡單的邏輯,單個文件處理者:
>>> import logging
>>> logger = logging.getLogger("test")
>>> handler = logging.FileHandler("testlog.log")
>>> logger.addHandler(handler)
>>> print logger.handlers[0].baseFilename
/home/nav/testlog.log
>>>
相關問題
- 1. 如何獲取當前日誌級別的Python記錄模塊
- 2. Python日誌記錄 - dictConfig - 子模塊的日誌記錄目標
- 3. 從庫模塊的Python日誌記錄
- 4. 擴展python日誌記錄模塊
- 5. Python日誌記錄 - 排除子模塊
- 6. 如何防止用python日誌記錄模塊截斷日誌文件?
- 7. 使用python模塊日誌記錄創建日誌文件的zip文件
- 8. Python日誌記錄我如何創建空的日誌文件?
- 9. 使用日誌記錄模塊在python中重命名日誌文件
- 10. 如何在多個模塊中使用python日誌記錄
- 11. 如何在Django中配置Python日誌記錄模塊?
- 12. 在Python日誌記錄模塊中取消換行
- 13. Python日誌記錄setLevel不記錄
- 14. python如何禁用多個導入的模塊日誌記錄
- 15. 如何獲取當前記錄的ID?
- 16. python日誌記錄如何創建日誌文件爲html
- 17. Python日誌記錄獲取錯誤:打開的文件太多
- 18. python日誌記錄不發佈文件
- 19. Python日誌記錄配置文件
- 20. Python日誌記錄和旋轉文件
- 21. Arangodb日誌記錄文件
- 22. 使用Python日誌記錄器記錄到文件和stderr
- 23. 日誌記錄當前函數名稱
- 24. 在Python日誌記錄中跨多個模塊訪問記錄器
- 25. 如何從Python日誌記錄模塊寫入Kafka?
- 26. 集中日誌記錄方法和日誌記錄當前行號
- 27. Asp.Net日誌記錄,IIS,獲取當前用戶
- 28. Python日誌記錄不工作 - 日誌記錄對象和sys.modules.pop()
- 29. 使用Python日誌記錄管理日誌記錄器
- 30. 使用python的日誌記錄模塊記錄所有異常和錯誤