日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python日志需要我們不斷的學習

Python日志在不斷的發(fā)展中需要我們不斷的進行學習。只有不斷的進行學習才能更好的掌握相關(guān)的使用方法。下面我們就詳細的介紹相關(guān)代碼的書寫方式。希望對大家有所幫助。

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,先為徐水等服務(wù)建站,徐水等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為徐水企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

一眼可知,類實現(xiàn)的是一個簡單的template模式,定義了setup, handle, finish讓繼承者重載,模式方法__init__則定義了三個方法的調(diào)用順序同時保證三個方法的運行。 很顯然,如果我們要在退出時關(guān)閉連接,重定義finish是一個很自然的行為。

 
 
 
  1. def finish(self):
  2. self.request.close()

第二個問題,如何記日志。Python有日志模塊logging。

 
 
 
  1. import logging
  2. logging.basicConfig(level=logging.DEBUG,
  3. format='%(asctime)s %(levelname)s %(message)s',
  4. filename='log.txt',
  5. filemode='a+')

不過實際使用中需要做一點點的補充。因為在多線程程序中,要記錄日志需要線程相關(guān)的唯一ID來識別一些東西。我沒有找到直接的線程ID(哪位兄弟找到了請告知),但Python中有一個名為id的內(nèi)建函數(shù),用來返回一個對象的identity (注1)。將要記錄的信息預(yù)定義一個模板,我們就能得到一個漂亮的輸出了。

 
 
 
  1. def LogTemplate(self, s):
  2. return '[id.' + str(id(self.request)) + ']: ' + str(s)def Log(self, s):
  3. ss = self.LogTemplate(s)
  4. print ss
  5. logging.info(ss)
  6. def LogErr(self, s):
  7. ss = self.LogTemplate(s)
  8. print ss
  9. logging.error(ss)

下面我們可以這樣寫了

 
 
 
  1. def setup(self):
  2. self.Log('進入處理線程')
  3. def finish(self):
  4. self.request.close()
  5. self.Log("退出處理線程")

另外模塊binascii對Python日志也很有用,我就會用到binascii.b2a_hex來幫助把一串二進制轉(zhuǎn)成可見的ASCII,象接收到的數(shù)據(jù)就***用b2a_hex轉(zhuǎn)換后再記日志。


當前文章:Python日志需要我們不斷的學習
標題路徑:http://www.5511xx.com/article/cociepp.html