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

創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),先為徐水等服務(wù)建站,徐水等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為徐水企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
一眼可知,類(lèi)實(shí)現(xiàn)的是一個(gè)簡(jiǎn)單的template模式,定義了setup, handle, finish讓繼承者重載,模式方法__init__則定義了三個(gè)方法的調(diào)用順序同時(shí)保證三個(gè)方法的運(yùn)行。 很顯然,如果我們要在退出時(shí)關(guān)閉連接,重定義finish是一個(gè)很自然的行為。
- def finish(self):
- self.request.close()
第二個(gè)問(wèn)題,如何記日志。Python有日志模塊logging。
- import logging
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(levelname)s %(message)s',
- filename='log.txt',
- filemode='a+')
不過(guò)實(shí)際使用中需要做一點(diǎn)點(diǎn)的補(bǔ)充。因?yàn)樵诙嗑€(xiàn)程程序中,要記錄日志需要線(xiàn)程相關(guān)的唯一ID來(lái)識(shí)別一些東西。我沒(méi)有找到直接的線(xiàn)程ID(哪位兄弟找到了請(qǐng)告知),但Python中有一個(gè)名為id的內(nèi)建函數(shù),用來(lái)返回一個(gè)對(duì)象的identity (注1)。將要記錄的信息預(yù)定義一個(gè)模板,我們就能得到一個(gè)漂亮的輸出了。
- def LogTemplate(self, s):
- return '[id.' + str(id(self.request)) + ']: ' + str(s)def Log(self, s):
- ss = self.LogTemplate(s)
- print ss
- logging.info(ss)
- def LogErr(self, s):
- ss = self.LogTemplate(s)
- print ss
- logging.error(ss)
下面我們可以這樣寫(xiě)了
- def setup(self):
- self.Log('進(jìn)入處理線(xiàn)程')
- def finish(self):
- self.request.close()
- self.Log("退出處理線(xiàn)程")
另外模塊binascii對(duì)Python日志也很有用,我就會(huì)用到binascii.b2a_hex來(lái)幫助把一串二進(jìn)制轉(zhuǎn)成可見(jiàn)的ASCII,象接收到的數(shù)據(jù)就***用b2a_hex轉(zhuǎn)換后再記日志。
名稱(chēng)欄目:Python日志需要我們不斷的學(xué)習(xí)
本文URL:http://www.dlmjj.cn/article/cociepp.html


咨詢(xún)
建站咨詢(xún)
