现在我的 Django 项目中有多个管理命令。
我想以一种我不会在每个命令中重复自己的方式在命令的开头和结尾记录类似[command_name] command started
and的内容。[command_name] command finished
已经在该方法之上尝试了装饰器,handle()
但认为这不是一个好的解决方案,因为我必须handle()
在所有命令中装饰该方法。
PS:我正在使用 python 记录器。
编辑
到了这一步:
class Parent(BaseCommand):
def __init__(self, *args, **kwargs):
logger.info(f'started {self.__module__}')
super().__init__(*args, **kwargs)
logger.info(f'finished {self.__module__}')
输出:
> started command_name
> finished command_name
> actual command logs