python log装饰器
时间: 2023-07-05 11:25:13 浏览: 54
日志(log)是在软件开发过程中非常重要的一环,它可以帮助开发者追踪程序的运行状态和问题。在Python中,可以使用装饰器(decorator)来实现日志功能,这样可以使日志代码与业务代码分离,提高代码的可维护性。
下面是一个简单的日志装饰器示例代码:
```
import logging
def log(func):
def wrapper(*args, **kwargs):
logging.basicConfig(filename='log.txt', level=logging.INFO)
logging.info('Function %s() is called with args: %s, kwargs: %s', func.__name__, args, kwargs)
return func(*args, **kwargs)
return wrapper
```
在这个示例中,定义了一个名为log的装饰器函数,它接受一个函数作为参数,并返回一个新的函数wrapper。wrapper函数中首先配置了日志文件名和日志级别,然后使用logging.info方法记录日志信息,包括函数名、参数和关键字参数。最后,wrapper函数调用原始函数并返回其结果。
使用这个日志装饰器很简单,只需要在需要记录日志的函数前加上@log即可,例如:
```
@log
def foo(x, y):
return x + y
print(foo(1, 2))
```
当运行这段代码时,将在当前目录下生成一个名为log.txt的日志文件,其中包含了函数foo的调用信息。
希望这个示例可以帮助您理解如何使用装饰器实现日志功能。当然,这只是一个简单的示例,实际应用中可能需要更复杂的日志记录方式和日志级别控制。