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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Twisted twisted.python.log日志

發(fā)布時(shí)間:2025/3/15 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Twisted twisted.python.log日志 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1???簡(jiǎn)單使用

Twisted提供了一個(gè)簡(jiǎn)單而且可移植的日志系統(tǒng)叫做?twisted.python.log?。它包含3個(gè)函數(shù):

msg

記錄一條信息,例如:

from twisted.python import log log.msg("hello, world")

err

把錯(cuò)誤寫入日志,包括traceback信息。你可以傳遞一個(gè)?failure?或者異常的實(shí)例,甚至什么都沒有。如果傳遞其他的東西則會(huì)通過?repr()?函數(shù)獲得字符串來顯示。如果什么都不傳遞則會(huì)自動(dòng)構(gòu)造一個(gè)?Failure?實(shí)例,一般用于 except 子句:

try:x=1/0 except:log.err() #會(huì)自動(dòng)記錄ZeroDivisionError

startLogging

通過一個(gè)類似文件對(duì)象來開始日志,例如:

log.startLogging(open("/var/log/foo.log",'w'))

或者:

log.startLogging(sys.stdout)

缺省條件下,startLogging會(huì)同時(shí)將輸出重定向到sys.stdout和sys.stderr。你可以在startLogging中設(shè)置setStdout=False來禁用這個(gè)功能。

?

1.1???日志與twistd

如果你使用twistd來運(yùn)行你的程序作為后臺(tái)進(jìn)程,則他會(huì)自動(dòng)托管startLogging,甚至還會(huì)自動(dòng)輪訓(xùn)日志。查看?twistd and tac?一節(jié)或twistd的man手冊(cè)了解更多。

?

1.2???日志文件

twisted.python.logfile?模塊提供了一些可以同startLogging共同使用的類,例如?DailyLogFile?,提供了以天為單位的日志輪詢。

?

2???編寫日志監(jiān)視器

日志監(jiān)視器是Twisted日志系統(tǒng)的基礎(chǔ)。一個(gè)日志監(jiān)視器的例子是供startLogging使用的?FileLogObserver?,可以把事件寫入文件中。一個(gè)日志監(jiān)視器是可調(diào)用的,并且只接受一次字典作為參數(shù)。隨后你可以用它來接收所有的日志事件(當(dāng)然也會(huì)給其他日志監(jiān)視器):

twisted.python.log.addObserver(yourCallable)

字典至少有2個(gè)項(xiàng)目:

message

日志信息,一個(gè)列表或字符串,被log.msg或log.err傳遞過來的。

isError

一個(gè)布爾值,如果為True時(shí)就是從log.err過來的。如果為True說明字典當(dāng)中還會(huì)有個(gè)Failure對(duì)象。

其他項(xiàng)目是自動(dòng)被加入的:

printed

這條信息是從sys.stdout中捕獲的,例如這條信息是從print輸出的。如果isError同樣為True,則是從sys.stderr來的。

你可以通過 log.msg 或 log.err 傳遞附加項(xiàng)目到事件字典。標(biāo)準(zhǔn)的日志監(jiān)視器將會(huì)忽略他們不用的字典參數(shù)。

?

Note

注意

  • 不要在日志監(jiān)視器中拋出異常,否則會(huì)掛掉。
  • 不要在日志監(jiān)視器中阻塞,尤其是在主線程中。這將會(huì)導(dǎo)致很多問題。
  • 日志監(jiān)視器需要線程安全。

總結(jié)

以上是生活随笔為你收集整理的Twisted twisted.python.log日志的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。