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

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

 更新時(shí)間:2019年07月12日 09:07:46   投稿:jingxian  
今天小編就為大家分享一篇python 使用裝飾器并記錄log的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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) # 可以通過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)來的函數(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的單繼承與多繼承實(shí)例分析

    Python中的單繼承與多繼承實(shí)例分析

    這篇文章主要介紹了Python中的單繼承與多繼承,結(jié)合實(shí)例詳細(xì)分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中單繼承與多繼承的概念、原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Python文件及目錄處理的方法

    Python文件及目錄處理的方法

    這篇文章主要介紹了Python文件及目錄處理的方法,Python可以用于處理文本文件和二進(jìn)制文件,比如創(chuàng)建文件、讀寫文件等操作。本文介紹Python處理目錄以及文件的相關(guān)資料,需要的朋友可以參考一下
    2021-12-12
  • 淺談Python中eval的強(qiáng)大與危害

    淺談Python中eval的強(qiáng)大與危害

    這篇文章主要介紹了Python中eval的強(qiáng)大與危害,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 使用Python實(shí)現(xiàn)解析HTML的方法總結(jié)

    使用Python實(shí)現(xiàn)解析HTML的方法總結(jié)

    HTML(Hypertext Markup Language)是互聯(lián)網(wǎng)世界中的通用語言,用于構(gòu)建網(wǎng)頁(yè),本文主要為大家介紹了如何使用Python解析HTML,包括各種方法和示例代碼,希望對(duì)大家有所幫助
    2023-11-11
  • python小程序之飄落的銀杏

    python小程序之飄落的銀杏

    這篇文章主要介紹了利用制作的python小程序-飄落的銀杏,代碼詳細(xì),簡(jiǎn)單易懂,有需要練習(xí)python的朋友可以參考下
    2021-04-04
  • python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制

    python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制

    這篇文章主要介紹了python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python實(shí)現(xiàn)flappy bird游戲

    python實(shí)現(xiàn)flappy bird游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)flappy bird游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python人工智能之波士頓房?jī)r(jià)數(shù)據(jù)分析

    Python人工智能之波士頓房?jī)r(jià)數(shù)據(jù)分析

    買房應(yīng)該是大多數(shù)都會(huì)要面臨的一個(gè)選擇,當(dāng)前經(jīng)濟(jì)和政策背景下,未來房?jī)r(jià)會(huì)漲還是跌?這是很多人都關(guān)心的一個(gè)話題。今天分享的這篇文章,以波士頓的房地產(chǎn)市場(chǎng)為例,根據(jù)低收入人群比例、老師學(xué)生數(shù)量等特征,利用 Python 進(jìn)行分析,不求買房但求技術(shù)
    2021-11-11
  • pyqt5 textEdit、lineEdit操作的示例代碼

    pyqt5 textEdit、lineEdit操作的示例代碼

    這篇文章主要介紹了pyqt5 textEdit、lineEdit操作的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 利用Python多處理庫(kù)處理3D數(shù)據(jù)詳解

    利用Python多處理庫(kù)處理3D數(shù)據(jù)詳解

    本文將介紹處理大量數(shù)據(jù)時(shí)非常方便的工具,例如tqdm與 multiprocessing?imap??一起使用、并行處理檔案、繪制和處理3D數(shù)據(jù)等,感興趣的小伙伴可以了解一下
    2021-12-12

最新評(píng)論

临洮县| 华安县| 策勒县| 曲阜市| 黄大仙区| 枣强县| 宝坻区| 鄂托克旗| 新和县| 彰化市| 闽侯县| 咸丰县| 嘉峪关市| 双辽市| 贡山| 古浪县| 瑞昌市| 水城县| 布拖县| 洛南县| 库尔勒市| 渭源县| 房产| 明星| 麻阳| 通榆县| 天等县| 康马县| 康平县| 瑞丽市| 克山县| 大名县| 潞西市| 乌兰察布市| 长宁区| 离岛区| 大安市| 康定县| 噶尔县| 贵州省| 沙河市|