<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

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

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

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

      import time
      import logging
      
      log_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時會把當前調用的函數(shù)名,行號等打印出來。所以加強版的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

      posted on 2019-01-02 10:46  齊妙非凡  閱讀(734)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人高清亚洲综合| 亚洲精品一区二区区别| 麻豆蜜桃伦理一区二区三区| 在线a亚洲v天堂网2018| 内射合集对白在线| 中文字幕亚洲制服在线看| 女同AV在线播放| 亚洲av成人无码精品电影在线| 国产免费一区二区不卡| 思思久99久女女精品| 国产清纯在线一区二区| 蜜桃视频无码区在线观看| 国产av一区二区久久蜜臀| 天堂中文8资源在线8| 亚洲午夜精品国产电影在线观看| 高清有码国产一区二区| 日韩精品一区二区三免费| 麻豆精品一区二区综合av| 久久久久99精品成人片牛牛影视| 中文字幕无码免费不卡视频 | 精品国偷自产在线视频99| 蜜桃av亚洲精品一区二区| 国产成人精品一区二区秒拍1o| 亚洲悠悠色综合中文字幕| 97se亚洲综合在线天天| 精品国产成人国产在线观看| 亚洲av高清一区二区三| 成人一区二区三区在线午夜| 无码内射中文字幕岛国片| 40岁大乳的熟妇在线观看| 国产精品小仙女自拍视频| 国产影片AV级毛片特别刺激| 亚洲色欲在线播放一区二区三区| 国产久久热这里只有精品| 国99久9在线 | 免费| 亚洲熟妇av一区二区三区宅男| 国产在线乱子伦一区二区| 国产蜜臀av在线一区在线| 超碰自拍成人在线观看| 国产一区二区高清不卡| 狠狠色婷婷久久综合频道日韩|