用python写一个装饰器函数,用于记录方法或函数的日志,日志必须有函数名及调用时间
时间: 2023-05-21 20:04:37 浏览: 98
好的,以下是一个记录日志的装饰器函数的代码,可以用于Python编程中:
```python
import datetime
def log_decorator(func):
def wrapper(*args, **kwargs):
call_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
func_name = func.__name__
print(f'[{call_time}] Calling {func_name} function ...')
res = func(*args, **kwargs)
return res
return wrapper
```
你可以在需要记录日志的函数上加上 @log_decorator 标记来使用它,比如:
```python
@log_decorator
def my_func(x, y):
return x + y
```
现在,每当你调用 my_func(x, y) 函数时,都会将调用时间和函数名记录到日志中。你可以通过在函数中添加其他参数来自定义日志的格式和内容,也可以将日志保存到文件中。
相关问题
用python写一个装饰器函数,用于记录方法或函数的日志,日志必须有函数名及调用时间,日志存入loging.log文件中
好的,下面是我为您编写的装饰器函数python代码,用于记录方法或函数的日志,并将日志存入loging.log文件中:
import logging
from functools import wraps
def logging_decorator(func):
logging.basicConfig(filename='logging.log', level=logging.INFO)
@wraps(func)
def wrapper(*args, **kwargs):
logging.info(f'Function {func.__name__} was called at {datetime.datetime.now()}')
return func(*args, **kwargs)
return wrapper
@logging_decorator
def example_function():
print('example function')
# 测试用例
if __name__ == '__main__':
example_function()
希望这个装饰器函数能够符合您的需要,如果有问题欢迎继续问我。
用python写一个装饰器函数,用于记录应用日志,日志要有时间及调用函数及方法名称
好的,以下是一个用于记录应用日志的装饰器代码示例:
```python
import logging
logging.basicConfig(filename='example.log', level=logging.INFO)
def log_decorator(func):
def wrapper(*args, **kwargs):
logging.info(f'{func.__name__} function called at {datetime.now()}')
return func(*args, **kwargs)
return wrapper
```
将此装饰器应用于你的函数或方法,就可以轻松记录它们的调用时间和名称,日志会输出到"example.log"文件中。
阅读全文