欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python將日志寫入文件超詳細步驟

 更新時間:2024年08月05日 09:08:01   作者:風也溫柔☆  
在Python中l(wèi)ogging模塊是一個強大的工具,用于記錄和輸出應用程序的日志信息,這篇文章主要給大家介紹了關(guān)于python將日志寫入文件的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1、需求

我們在訓練模型的時候,有時候需要將訓練日志輸出到一個文件中,方便隨時查看訓練日志。

訓練模型時候,訓練日志在控制臺展示,關(guān)閉控制臺后日志會消失。這時,我們需要將控制臺中的訓練日志信息輸出到一個指定文件中,方便我們隨時查看。

將控制臺中的日志信息輸入到當前目錄下的application.log文件中

2、方法:python logging模塊

logging 是Python中非常強大且靈活的庫,用于記錄和跟蹤應用程序運行時發(fā)生的事件。

在Python中,使用 logging 模塊可以寫入日志信息到指定文件。

2.1 basicConfig() 快速配置

  • 導入logging模塊
  • 設(shè)置全局的日志格式和級別
  • 獲取logger
  • 創(chuàng)建文件處理器,指定日志文件和日志級別(局部)
  • 添加文件處理器到logger
import logging
import warnings

# 忽略所有 UserWarning 警告
warnings.filterwarnings("ignore", category=UserWarning)

# 1、設(shè)置全局的日志格式和級別
logging.basicConfig(format='%(asctime)s - %(levelname)s - %(name)s - %(message)s',
                    datefmt='%m/%d/%Y %H:%M:%S',
                    level=logging.INFO)

# 2、獲取logger (給日志器起個名字 "__name__")
logger = logging.getLogger(__name__)# __name__內(nèi)置變量模塊名稱,輕松地識別出哪個模塊產(chǎn)生了哪些日志消息(主程序模塊)

# 3、創(chuàng)建文件處理器,指定日志文件和日志級別(局部)---文件輸出FileHandle(輸出到指定文件)
file_handler = logging.FileHandler('application.log') #指定日志文件名application.log,默認在當前目錄下創(chuàng)建
file_handler.setLevel(logging.INFO) # 設(shè)置日志級別(只輸出對應級別INFO的日志信息)
# 設(shè)置日志格式
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s', '%m/%d/%Y %H:%M:%S')) 

# 4、添加文件處理器到logger
logger.addHandler(file_handler)

# 訓練模型的代碼
epoch = 7  
# 記錄日志信息
logger.info("Get better performance at epoch {}".format(epoch))

# 在主類中編寫日志代碼
# 判斷當前程序是否為主程序,確保 main() 函數(shù)只在直接運行該Python文件時執(zhí)行,如果文件被其他模塊導入,則不執(zhí)行 main()
# 主程序內(nèi)置變量 __name__
if __name__ == "__main__":
    main()

2.2 查看application.log日志文件

2.3、logging知識

  • Loggers:應用程序中使用的接口,用于發(fā)送日志消息。它們來自logging.getLogger(name),name是用于標識logger源的字符串
  • Handlers:用于配置日志處理的目的地,如文件、控制臺等。常用的有StreamHandler(控制臺輸出)和FileHandle(文件輸出)
  • Formatters:定義最終輸出中日志記錄的布局
  • Filters:提供更細粒度的工具來進一步控制哪些日志記錄將被輸出

2.4、日志級別

debug,info,warning,error,critical
  • DEBUG:詳細信息,通常只有在診斷問題時才感興趣。
  • INFO:證明事情按預期工作(最常用)
  • WARNING:某些還不是錯誤的事情的指示,但是應該注意的。
  • ERROR:由于某些更嚴重的問題,軟件已不能執(zhí)行一些功能了
  • CRITICAL:嚴重錯誤,表明程序已不能繼續(xù)運行。

總結(jié) 

到此這篇關(guān)于python將日志寫入文件的文章就介紹到這了,更多相關(guān)python日志寫入文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論