近期接触python,发现【装饰器】这个功能挺好。
凭着对程序又快又好的开发态度,尝试写了个小小的装饰器进一步了解学习。
同时里面还嵌套了日志模块
import logging
import os
import time
def decoLog(func):
'''
程序出错日志记录装饰器
:param func: 当前执行的函数
:return: 返回日志
'''
def wrapper(*args,**kwargs):
try:
func(*args,**kwargs)
except:
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
DATE_FORMAT = "%F %H:%M:%S"
logging.basicConfig(filename=os.path.abspath('..')+'/MyLog/'+time.strftime('%F')+'.log', level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT)
logging.debug("This is a debug log.")
return wrapper
@decoLog
def Hello():
print('Hello world')
if __name__ == '__main__':
'''日志输出'''
Hello()