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

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

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

1.首先定義一個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ù)為空則返回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指定輸出格式
 
   # 控制臺日志
   console_handler = logging.StreamHandler(sys.stdout)
   console_handler.formatter = formatter # 也可以直接給formatter賦值
 
   # 為logger添加的日志處理器
   logger.addHandler(file_handler)
   logger.addHandler(console_handler)
 
   # 指定日志的最低輸出級別,默認為WARN級別
   logger.setLevel(logging.INFO)
  # 添加下面一句,在記錄日志之后移除句柄
  return logger

2.然后定義一個裝飾器文件

在這里引用wraps,一個裝飾器的裝飾器,目的為了保持引用進來的函數(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("當前運行方法",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ù)上面引用即可

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

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

相關(guān)文章

  • Python中的單繼承與多繼承實例分析

    Python中的單繼承與多繼承實例分析

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

    Python文件及目錄處理的方法

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

    淺談Python中eval的強大與危害

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

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

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

    python小程序之飄落的銀杏

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

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

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

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

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

    Python人工智能之波士頓房價數(shù)據(jù)分析

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

    pyqt5 textEdit、lineEdit操作的示例代碼

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

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

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

最新評論

墨竹工卡县| 青川县| 龙泉市| 六安市| 凉山| 盐源县| 静安区| 宝丰县| 永吉县| 武乡县| 阿勒泰市| 绥滨县| 宁陵县| 兴义市| 黎平县| 留坝县| 马关县| 开远市| 电白县| 长汀县| 吉安县| 平利县| 拜城县| 永川市| 天津市| 南投县| 荥经县| 闽侯县| 仁寿县| 巩留县| 渝北区| 水富县| 汾阳市| 泰州市| 拜城县| 张家口市| 夏河县| 抚州市| 青冈县| 昌宁县| 荔波县|