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

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)論
主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠2018 | 四虎高清在线精品免费观看 | 久久婷婷午色综合夜啪 | 国产啪爱视频精品免视 | 最近中文字幕无免费视频 | 一级做a爰片性色毛片2021 | 一本久道久久综合中文字幕 | 美女被草视频 | 欧美日韩黄色 | 日日操综合 | 在线欧美一区 | se94se亚洲欧美在线 | 沧元图免费观看 | 色综合综合色综合色综合 | 日本高清不卡视频 | 亚洲自拍成人 | 欧美亚洲国产色综合 | 91国内在线国内在线播放 | 国产尤物福利视频在线观看 | 久插视频| 五月天 亚洲 | 国产成人久久一区二区三区 | 国产在线观看91精品不卡 | 亚洲一区二区影院 | 99这里只有精品66视频 | 四虎海外影院 | 日本一级毛片中文字幕 | 国产毛片毛片精品天天看 | 久久精品午夜视频 | 91亚洲国产三上悠亚在线 | 在线欧美日韩国产 | 国产一区二区三区四 | 亚洲一区二区三区免费在线观看 | 99久久精品国产麻豆 | 2019偷偷狠狠的日日 | 国产伦精品一区二区三区 | 久久久国产一区二区三区 | 番茄视频成人在线观看 | 亚洲国产精品67194成人 | 亚洲欧美日韩成人一区在线 | 国内精品久久久久影院不卡 |