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

python將日志寫入文件超詳細(xì)步驟

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

1、需求

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

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

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

2、方法:python logging模塊

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

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

2.1 basicConfig() 快速配置

  • 導(dǎo)入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,默認(rèn)在當(dāng)前目錄下創(chuàng)建
file_handler.setLevel(logging.INFO) # 設(shè)置日志級別(只輸出對應(yīng)級別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)

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

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

2.2 查看application.log日志文件

2.3、logging知識

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

2.4、日志級別

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

總結(jié) 

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

相關(guān)文章

最新評論