亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python 使用裝飾器并記錄log的示例代碼

系統(tǒng) 1523 0

1.首先定義一個(gè)log文件

            
# -*- coding: utf-8 -*-
import os
import time
import logging
import sys
log_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")
today = time.strftime('%Y%m%d', time.localtime(time.time()))
full_path=os.path.join(log_dir1,today)
if not os.path.exists(full_path):
 os.makedirs(full_path)
log_path=os.path.join(full_path,"facebook.log")
def get_logger():
  # 獲取logger實(shí)例,如果參數(shù)為空則返回root logger
  logger = logging.getLogger("facebook")
  if not logger.handlers:
   # 指定logger輸出格式
   formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s')
 
   # 文件日志
   file_handler = logging.FileHandler(log_path,encoding="utf8")
   file_handler.setFormatter(formatter) # 可以通過(guò)setFormatter指定輸出格式
 
   # 控制臺(tái)日志
   console_handler = logging.StreamHandler(sys.stdout)
   console_handler.formatter = formatter # 也可以直接給formatter賦值
 
   # 為logger添加的日志處理器
   logger.addHandler(file_handler)
   logger.addHandler(console_handler)
 
   # 指定日志的最低輸出級(jí)別,默認(rèn)為WARN級(jí)別
   logger.setLevel(logging.INFO)
  # 添加下面一句,在記錄日志之后移除句柄
  return logger
          

2.然后定義一個(gè)裝飾器文件

在這里引用wraps,一個(gè)裝飾器的裝飾器,目的為了保持引用進(jìn)來(lái)的函數(shù)名字不發(fā)生變化

            
#!/usr/bin/env python 
# encoding: utf-8
from functools import wraps
from logger.log import get_logger
import traceback
def decoratore(func):
 @wraps(func)
 def log(*args,**kwargs):
  try:
   print("當(dāng)前運(yùn)行方法",func.__name__)
   return func(*args,**kwargs)
  except Exception as e:
   get_logger().error(f"{func.__name__} is error,here are details:{traceback.format_exc()}")
 return log
          

3.在使用的時(shí)候直接在函數(shù)上面引用即可

            
@decorator
def start():
 print("666")
          

以上這篇python 使用裝飾器并記錄log的示例代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲社区在线 | 国产精品久热 | 99国产精品视频免费观看 | 女人a级毛片 | 深夜福利视频在线一区 | 波多野结衣 一区二区 | 日本不卡免费高清一级视频 | 国产视频2021| 啪啪网站色大全免费 | 国产主播在线看 | 成人激情视频在线 | 国产成人综合91香蕉 | 美女被cao的视频免费看 | 国产欧美亚洲精品第二区首页 | 精品一区二区三区中文 | 国产欧美精品专区一区二区 | 一区视频在线播放 | 国产青草亚洲香蕉精品久久 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 中文字幕久久综合 | 日本a∨在线观看 | 波多野结衣中文一区二区免费 | 久久伊人精品综合观看99 | 婷婷爱爱 | 午夜性爽视频男人的天堂在线 | 中文字幕在线视频在线看 | 炮房五月 | 亚洲精国产一区二区三区 | 天天干天天骑 | 国产精品福利一区二区 | 久久这里只精品国产99热8 | 久久精品免视看国产陈冠希 | 日日摸夜夜添夜夜添欧美毛片 | 成人免费网站久久久 | 久热热热 | 久久婷婷综合在线视频观看6 | 日本三级带日本三级带黄首页 | 91亚洲国产系列精品第56页 | 女人用粗大自熨喷水在线视频 | 福利毛片 | 色妞www精品视频 |