最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用裝飾器作日志處理的方法

 更新時(shí)間:2019年07月11日 16:21:06   作者:Memory_qq312141830  
今天小編就為大家分享一篇python使用裝飾器作日志處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

裝飾器這東西我看了一會(huì)兒才明白,在函數(shù)外面套了一層函數(shù),感覺和java里的aop功能很像;寫了2個(gè)裝飾器日志的例子,

第一個(gè)是不帶參數(shù)的裝飾器用法示例,功能相當(dāng)于給函數(shù)包了層異常處理,第二個(gè)是帶參數(shù)的裝飾器用法示例,將日志輸出到文件。

```
#coding=utf8
import traceback
import logging
from logging.handlers import TimedRotatingFileHandler
def logger(func):
 def inner(*args, **kwargs): #1
 try:
  #print "Arguments were: %s, %s" % (args, kwargs)
  func(*args, **kwargs) #2
 except:
  #print 'error',traceback.format_exc()
  print 'error'
 return inner


def loggerInFile(filename):#帶參數(shù)的裝飾器需要2層裝飾器實(shí)現(xiàn),第一層傳參數(shù),第二層傳函數(shù),每層函數(shù)在上一層返回
 def decorator(func):
 def inner(*args, **kwargs): #1
  logFilePath = filename # 日志按日期滾動(dòng),保留5天
  logger = logging.getLogger()
  logger.setLevel(logging.INFO)
  handler = TimedRotatingFileHandler(logFilePath,
       when="d",
       interval=1,
       backupCount=5)
  formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
  handler.setFormatter(formatter)
  logger.addHandler(handler)
  try:
  #print "Arguments were: %s, %s" % (args, kwargs)
  result = func(*args, **kwargs) #2
  logger.info(result)
  except:
  logger.error(traceback.format_exc())
 return inner
 return decorator

@logger
def test():
 print 2/0

test()


@loggerInFile('newloglog')
def test2(n):
 print 100/n

test2(10)
test2(0)
print 'end'
```

以上這篇python使用裝飾器作日志處理的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)對(duì)中文文本分段分句

    Python實(shí)現(xiàn)對(duì)中文文本分段分句

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)對(duì)中文文本分段分句,大致來說主要是以中文的句號(hào)、感嘆、問號(hào)等符號(hào)進(jìn)行分句,感興趣的可以了解一下
    2023-03-03
  • python常用的各種排序算法原理與實(shí)現(xiàn)方法小結(jié)

    python常用的各種排序算法原理與實(shí)現(xiàn)方法小結(jié)

    這篇文章主要介紹了python常用的各種排序算法原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了冒泡排序、插入排序、選擇排序、快速排序等排序算法的相關(guān)原理與實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-04-04
  • python 格式化輸出百分號(hào)的方法

    python 格式化輸出百分號(hào)的方法

    今天小編就為大家分享一篇python 格式化輸出百分號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 自然語言處理NLP TextRNN實(shí)現(xiàn)情感分類

    自然語言處理NLP TextRNN實(shí)現(xiàn)情感分類

    這篇文章主要為大家介紹了自然語言處理NLP TextRNN實(shí)現(xiàn)情感分類示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Python數(shù)據(jù)分析?Pandas?Series對(duì)象操作

    Python數(shù)據(jù)分析?Pandas?Series對(duì)象操作

    這篇文章主要介紹了Python數(shù)據(jù)分析之Pandas?Series對(duì)象,文章基于python的相關(guān)資料展開詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • python編寫一個(gè)GUI倒計(jì)時(shí)器

    python編寫一個(gè)GUI倒計(jì)時(shí)器

    這篇文章主要為大家詳細(xì)介紹了python編寫一個(gè)GUI倒計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Python下載網(wǎng)易云歌單歌曲的示例代碼

    Python下載網(wǎng)易云歌單歌曲的示例代碼

    這篇文章主要介紹了Python下載網(wǎng)易云歌單歌曲的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python中的字符串切割 maxsplit

    python中的字符串切割 maxsplit

    這篇文章主要介紹了python中的字符串切割 maxsplit,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python獲取指定目錄下所有文件名列表的方法

    python獲取指定目錄下所有文件名列表的方法

    這篇文章主要介紹了python獲取指定目錄下所有文件名列表的方法,涉及Python目錄及文件操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • miniconda3介紹、安裝以及使用教程

    miniconda3介紹、安裝以及使用教程

    Miniconda是一款小巧的python環(huán)境管理工具,安裝包大約只有50M多點(diǎn),其安裝程序中包含conda軟件包管理器和Python,下面這篇文章主要給大家介紹了關(guān)于miniconda3介紹、安裝以及使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

宁明县| 行唐县| 鹤山市| 电白县| 句容市| 谷城县| 栾川县| 牙克石市| 海林市| 甘肃省| 丰县| 普兰店市| 临颍县| 石棉县| 武夷山市| 西峡县| 洛扎县| 伊金霍洛旗| 固始县| 麻城市| 台州市| 遂溪县| 宁海县| 涞水县| 高陵县| 西和县| 安国市| 大冶市| 伊金霍洛旗| 历史| 北宁市| 永顺县| 遂川县| 密山市| 澜沧| 鲜城| 宝丰县| 延安市| 隆子县| 邵阳县| 林州市|