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

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)論
主站蜘蛛池模板: 欧美日本一二三区 | 欧美α片无限看在线观看免费 | 美女天天干 | 曰本性l交视频 | 九九九精品在线观看 | 看特级大黄一片 | 嫩草嫩草55av | 久久久欧美综合久久久久 | 瑟瑟视频在线观看 | 日韩欧美亚洲在线 | 国产福利在线永久视频 | 欧美亚洲国产人成aaa | 97视频免费在线观看 | 97在线亚洲 | 久久女人天堂 | 香蕉视频a | 亚洲综合日韩欧美一区二区三 | 天天撸天天操 | 午夜干b| 成年人网站在线 | 国产欧美视频一区二区三区 | 国产亚洲欧美ai在线看片 | 精品一区二区三区在线视频 | 男女性高爱麻豆 | 狠狠色丁婷婷综合久久 | 九九99久久精品午夜剧场免费 | 五月婷婷久 | 国产伦精品一区二区三区四区 | 国产免费人人看大香伊 | 一级毛片视频在线观看 | 国产精品一区二区三区四区 | www.中文字幕在线观看 | 一级a毛片| 国产日产久久高清欧美一区 | 日日夜夜天天 | 色一区二区 | 日本午夜大片a在线观看 | 国产精品一区二区三区免费 | 免费xxxx美国18| 羞羞免费观看视频 | 九九影片重口味 |