日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python的DEBUG LOG

發布時間:2024/4/15 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python的DEBUG LOG 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直在嵌入式行業,熟悉嵌入式的朋友都很了解嵌入式設備上DEBUG的麻煩,特別是一些缺乏斷電工具和沒有UI界面的設備。久而久之,開發一個新東西,首先就是要先搞定DEBUG手段。最近寫了幾個測試的python腳本用于跑些壓力測試。找了些Python的DEBUG方法并加以處理,形成了方便使用的DEBUG手段。

其實Python的DEBUG?LOG很簡單很方便,相當于整輛車都做好了,就等你怎么開車了。而我們在C的嵌入式設備上,DEBUG都幾乎需要自己造輪子,造車身。然而在Python中我們只需要import?logging就可以了,而且這還是標準模塊。無需額外的庫。

每次跑LOG都可以生成以時間命令的LOG文件,這樣就無需擔心文件覆蓋,重名,無法確認LOG開始時間等問題。可以參考的代碼如下:

import time import logginglog_filename=r'LOG\%s_test.log'%(time.strftime('%Y%m%d%H%M%S'))logging.basicConfig(level=logging.DEBUG, format='%(asctime)s [line:%(lineno)d] %(levelname)s %(message)s', datefmt='%Y.%m.%d %H:%M:%S',#datefmt='%a, %d %b %Y %H:%M:%S', filename=log_filename, filemode='w')def debug_trace(str):print(str)#如果需要在控制臺打印的話。 logging.debug(str)debug_trace("test") logging.debug("test")

?生成log文件“20190102102228_test.log”,文件中的LOG如:2019.01.02 10:22:28 [line:14] DEBUG test

但是以上的寫法會有個問題,lineno將不是我們想要的,一直會是debug_trace中的行號。如果直接使用?logging.debug("test"),則lineno就會期望的實際被調用的位置的行號。

?

我原來在C嵌入式上的一些習慣,debug時會把當前調用的函數名,行號等打印出來。所以加強版的debug?trace就是如下:

1 import time 2 import logging 3 import sys 4 5 log_filename=r'LOG\%s_test.log'%(time.strftime('%Y%m%d%H%M%S')) 6 7 logging.basicConfig(level=logging.DEBUG, 8 format='%(asctime)s %(levelname)s %(message)s', 9 datefmt='%Y.%m.%d %H:%M:%S',#datefmt='%a, %d %b %Y %H:%M:%S', 10 filename=log_filename, 11 filemode='w') 12 13 14 def debug_trace(str): 15 debug_str = sys._getframe().f_back.f_code.co_name+"() "+"Line:"+"%d"%(sys._getframe().f_back.f_lineno)+" "+str 16 print(debug_str)#如果需要在控制臺打印的話。 17 logging.debug(debug_str) 18 19 def main(): 20 debug_trace("test") 21 22 main()

這樣打出來的LOG就可以是:?2019.01.02 10:41:10 DEBUG main() Line:20? ?test

轉載于:https://www.cnblogs.com/Wokky/p/10207376.html

總結

以上是生活随笔為你收集整理的Python的DEBUG LOG的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。