A. python用logging模塊寫日誌文件無輸出
來個簡單點的
#-*-coding:utf-8-*-
importlogging
__author__='lpe234'
__date__='2015-04-30'
LOGGING_FILE='xx.log'
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s',
filename=LOGGING_FILE,
filemode='a+'
)
logging.debug('debug')
logging.info('info')
logging.exception('exception')
logging.error('error')
logging.critical('critical')
B. nb-log為啥有空行
輸出後沒有加換行符。nb-log是Python中的一個日誌記錄庫,通常情況下,日誌文件中的空行是由於日誌處理器在記錄日誌時,日誌記錄器在日誌輸出結束後沒有加上換行符導致的。
C. python 的日誌在項目中使用指南
在Python項目開發中,日誌管理是提升效率的關鍵工具。通過使用logging庫,我們可以有效地追蹤和管理項目中的信息。首先,項目結構通常包含主程序app.py,模塊文件夾以及專門的日誌配置文件logger.py。logger.py配置了日誌級別為DEBUG,定義了日誌格式,並使用StreamHandler或FileHandler輸出到控制台或文件,get_logger函數則方便追蹤日誌來源。
在模塊中,如mole.py,通過導入logger並使用get_logger方法,創建特定模塊的日誌實例,便於追蹤。例如,當處理多線程情況時,日誌記錄尤其重要,它可以幫助調試。主程序app.py需在初始化時設置日誌,否則get_logger函數無法正常工作。
運行app.py後,會在當前目錄生成app_demo.log文件,記錄了模塊調用和日誌級別。然而,在生產環境中,日誌通常會通過資料庫或消息隊列(如Kafka)進行流式處理。這時,只需在logging庫的基礎上,創建相應的handler,其他設置方法與上述類似。
通過以上步驟,Python項目的日誌管理變得有序且易於維護,無論是調試還是生產環境,都能提供有力的支持。