标签:打印 turn 自己 file error Matter 不同的 bsp level
一、####用logging的四大组件来实现日志的功能
- 打印出函数执行的时间,日志的等级,日志的消息
- 用装饰器
- 不同的日志,要记录不同等级的日志消息
----------------------------------------------
import logging
logger = logging.getLogger("mylogger")
logger.setLevel(logging.DEBUG)
# handler
# TimeRotationFileHandler 是用来按照日期去划分日志
# RotationFileHandler 是按照日志文件的大小划分日志
debug_handler = logging.FileHandler("1024debug.log")
debug_handler.setLevel(logging.DEBUG)
debug_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
error_handler = logging.FileHandler("1024error.log")
error_handler.setLevel(logging.ERROR)
error_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
logger.addHandler(debug_handler)
logger.addHandler(error_handler)
def log(func):
def wrapper(*arg, **kw):
logger.debug("this is a debugger info")
logger.error("this is a error info")
return func(*arg, **kw)
return wrapper
def loghigher(text):
def decorator(func):
def wrapper(*arg, **kw):
logger.debug(text)
logger.error(text)
return func(*arg, **kw)
return wrapper
return decorator
# 按照函数的不同,要在日志中打印出不同的东西
@log
def test():
print("test done")
@log("this is test1 done")
def test1():
print("test1 done")
@loghigher("this is main done")
def main():
print("main done")
test1()
main()
----------------------------------------------
#### 一般情况我们在实际的工作当中,我们经常把logging封装成一个装饰器,按照我自己的习惯,我是习惯新建一个loggerTools的文件,
### 在需要保存日志的地方,把loggerTools给引进进来。
Python---进阶---logging---logger
标签:打印 turn 自己 file error Matter 不同的 bsp level
原文地址:https://www.cnblogs.com/niaocaizhou/p/11064809.html