python將日志寫入文件超詳細步驟
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)文章
用python按照圖像灰度值統(tǒng)計并篩選圖片的操作(PIL,shutil,os)
這篇文章主要介紹了用python按照圖像灰度值統(tǒng)計并篩選圖片的操作(PIL,shutil,os),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)
這篇文章主要為大家介紹了Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07Python 實現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊列的操作方法
這篇文章主要介紹了Python 實現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊列的操作方法,需要的朋友可以參考下2019-07-07Python被遠程主機強制關(guān)閉后自動重新運行進程的示例
要實現(xiàn)Python程序在被遠程主機強制關(guān)閉后能夠自動重新運行,我們可以采用幾種方法,但最直接且常用的方法之一是結(jié)合操作系統(tǒng)級的工具或腳本,這篇文章主要介紹了Python被遠程主機強制關(guān)閉后怎么自動重新運行進程,需要的朋友可以參考下2024-08-08