亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python日志記錄模塊實例及改進

2020-02-23 04:22:56
字體:
來源:轉載
供稿:網友

python 打印對象的所有屬性值:

def prn_obj(obj):  print '/n'.join(['%s:%s' % item for item in obj.__dict__.items()])

Python logger對象屬性(由上述函數獲取的)

name:get_dataparent:<logging.RootLogger instance at 0x1d8bd88>handlers:[<logging.FileHandler instance at 0x21bcc68>]level:10disabled:1   #當前的logger是否有效,默認為0manager:<logging.Manager instance at 0x1d8bea8>propagate:0   #是否將本級日志filters:[] 

部分日志無法輸出

File:logger.conf

 [formatters]keys=default [formatter_default]format=%(asctime)s - %(name)s - %(levelname)s - %(message)sclass=logging.Formatter [handlers]keys=console, error_file [handler_console]class=logging.StreamHandlerformatter=defaultargs=tuple() [handler_error_file]class=logging.FileHandlerlevel=INFOformatter=defaultargs=("logger.log", "a") [loggers]keys=root [logger_root]level=DEBUGformatter=defaulthandlers=console,error_file

File:logger.py

 #!/bin/env python import loggingfrom logging.config import logging class Test(object):  """docstring for Test"""  def __init__(self):    logging.config.fileConfig("logger.conf")    self.logger = logging.getLogger(__name__)   def test_func(self):    self.logger.error('test_func function') class Worker(object):  """docstring for Worker"""  def __init__(self):    logging.config.fileConfig("logger.conf")    self.logger = logging.getLogger(__name__)     data_logger = logging.getLogger('data')    handler = logging.FileHandler('./data.log')    fmt = logging.Formatter('%(asctime)s|%(message)s')    handler.setFormatter(fmt)    data_logger.addHandler(handler)    data_logger.setLevel(logging.DEBUG)    self.data_logger = data_logger   def test_logger(self):    self.data_logger.error("test_logger function")    instance = Test()    self.data_logger.error("test_logger output")    instance.test_func()  def main():  worker = Worker()  worker.test_logger() if __name__ == '__main__':  main() 

問題一:測試過程中,只能打印出test_logger function一條語句
問題二:明明只在data_logger中打印出語句,但是logger的日志中也出現了相關的日志。

問題一解決方案:

利用python -m pdb logger.py 語句對腳本進行調試發現,在執行instance = Test()語句后,通過print '/n'.join(['%s:%s' % item for item in self.data_logger.__dict__.items()])調試語句看到data_logger的disable屬性值由0變成了True,此時logger的對應屬性也發生了相同的變化。這種變化導致了logger對象停止記錄日志。參考python  logging模塊的相關手冊發現“The fileConfig() function takes a default parameter, disable_existing_loggers, which defaults to True for reasons of backward compatibility. This may or may not be what you want, since it will cause any loggers existing before the fileConfig() call to be disabled unless they (or an ancestor) are explicitly named in the configuration.” 的說明,即調用fileconfig()函數會將之前存在的所有logger禁用。在python 2.7版本該fileConfig()函數添加了一個參數,logging.config.fileConfig(fname, defaults=None, disable_existing_loggers=True),可以顯式的將disable_existing_loggers設置為FALSE來避免將原有的logger禁用。將上述代碼中的Test類中的logging.config.fileConfig函數改成logging.config.fileConfig("./logger.conf", disable_existing_loggers=0)就可以解決問題。 不過該代碼中由于位于同一程序內,可以直接用logging.getLogger(LOGGOR_NAME)函數引用同一個logger,不用再調用logging.config.fileConfig函數重新加載一遍了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线第一页| 欧美日本黄视频| 97激碰免费视频| 在线观看视频亚洲| 在线观看亚洲区| 91精品中国老女人| 成人免费淫片aa视频免费| 国产91露脸中文字幕在线| 久久久综合免费视频| 成人国产精品免费视频| 欧美日韩国产中字| 成人福利在线视频| 俺去亚洲欧洲欧美日韩| 91大神在线播放精品| 国产成人精品网站| 日本精品视频网站| 91久久中文字幕| 欧美一区亚洲一区| 国产精品久久久久av| 欧美精品videos性欧美| 久久精品国产成人精品| 国产日韩欧美综合| 自拍视频国产精品| 91高清视频免费观看| 国产精品久久999| 亚洲精品资源在线| www.亚洲男人天堂| 91在线播放国产| 久久久日本电影| 91精品国产成人| 91精品国产91久久久久福利| 国产精品久久久久久久久久99| 一区二区三区四区在线观看视频| 亚洲欧美成人在线| 国产精品一区二区三区在线播放| 国产乱人伦真实精品视频| 欧美高清视频在线播放| 91久久夜色精品国产网站| 国产精品亚洲美女av网站| 国产美女久久精品香蕉69| 国产精品18久久久久久首页狼| 欧美一乱一性一交一视频| 国产69精品99久久久久久宅男| 国产成人精品在线| 美女少妇精品视频| 亚洲视频777| 国产精品丝袜久久久久久不卡| 国产91精品黑色丝袜高跟鞋| 欧美激情喷水视频| 欧美性xxxxxxxxx| 最近2019年好看中文字幕视频| 欧美日韩国产成人高清视频| 亚洲欧美中文日韩在线v日本| 亚洲桃花岛网站| 精品国产户外野外| 日韩在线视频免费观看高清中文| 国产精品美乳一区二区免费| 国产精品视频白浆免费视频| 青青久久av北条麻妃黑人| 亚洲品质视频自拍网| 欧洲亚洲女同hd| 亚洲欧美国产va在线影院| 国产精品伦子伦免费视频| 午夜精品一区二区三区视频免费看| 国产丝袜一区二区三区免费视频| 精品国产31久久久久久| 午夜精品99久久免费| 国产美女久久精品香蕉69| 日韩av在线免费播放| 中文字幕亚洲一区| 亚洲欧洲激情在线| 8x海外华人永久免费日韩内陆视频| 九九九热精品免费视频观看网站| 欧美性videos高清精品| 成人综合网网址| 日韩av在线高清| 欧美理论在线观看| 久久久久久噜噜噜久久久精品| 亚洲美女精品成人在线视频| 国内外成人免费激情在线视频| 久久99久久99精品免观看粉嫩| 一区二区成人av| 欧美多人乱p欧美4p久久| 久久人体大胆视频| 国产精品成人v| 4444欧美成人kkkk| 欧美激情视频在线| 色综合亚洲精品激情狠狠| 国内精品久久久久影院 日本资源| 国产精品偷伦一区二区| 国产成人精品亚洲精品| 国产日韩在线看片| 日本欧美在线视频| 欧美日韩日本国产| 久久91亚洲精品中文字幕| 国模叶桐国产精品一区| 精品丝袜一区二区三区| 国产精品扒开腿做爽爽爽男男| 久久精品国产亚洲精品2020| 91香蕉电影院| 最近中文字幕日韩精品| 国产成人涩涩涩视频在线观看| 91高清免费在线观看| 亚洲色图偷窥自拍| 久久99久久亚洲国产| 欧美大片免费观看| 91亚洲精华国产精华| 欧美性猛交xxxx富婆弯腰| 综合网中文字幕| 亚洲精品视频免费| 日韩av中文字幕在线免费观看| 人人做人人澡人人爽欧美| 日产精品99久久久久久| 欧美日韩午夜激情| 亚洲天堂男人的天堂| 亚洲自拍偷拍在线| 亚洲天堂开心观看| 久久久久久久999精品视频| 亚洲第一av在线| 国产精品网红直播| 亚洲a区在线视频| 久久久天堂国产精品女人| 欧美激情精品久久久久久大尺度| 欧美丝袜美女中出在线| 国产成人久久久| 国产精品永久免费在线| 中文字幕日韩在线播放| 日韩欧美中文免费| 青青在线视频一区二区三区| 欧美国产日韩二区| 91精品国产99| 欧美性20hd另类| 精品免费在线观看| 久久久噜久噜久久综合| 97免费视频在线| 国产精品丝袜一区二区三区| 国产欧美日韩精品在线观看| 丝袜亚洲欧美日韩综合| 亚洲xxxx做受欧美| 黄色91在线观看| 国产九九精品视频| 国产成人免费av电影| 色偷偷888欧美精品久久久| 亚洲视频在线免费观看| 欧美成人亚洲成人日韩成人| 日韩精品在线私人| 日韩在线观看精品| 欧美综合国产精品久久丁香| 日本成人黄色片| 日韩在线免费视频观看| 亚洲天堂av电影| 国产美女久久精品香蕉69| 久久久精品日本| 欧美激情一区二区三区久久久| 精品调教chinesegay| 欧美交受高潮1| 欧美激情xxxxx| 欧美成人精品在线播放| 精品国产成人在线| 亚洲国产99精品国自产| 国产精品永久免费观看| 日韩中文字幕在线播放| 久久久久亚洲精品| 一区二区三区天堂av|