Python 如何将Django日志临时镜像到第二个文件?
我希望创建特定于任务的日志文件,以反映特定操作期间发生的情况,但我希望这些日志消息也转到主Django日志 我目前的解决方案乍一看似乎效果不错,大致如下:Python 如何将Django日志临时镜像到第二个文件?,python,django,Python,Django,我希望创建特定于任务的日志文件,以反映特定操作期间发生的情况,但我希望这些日志消息也转到主Django日志 我目前的解决方案乍一看似乎效果不错,大致如下: logger = getLogger("%s:%s" % (__name__, task_id)) handler = FileHandler(task_log_file) logger.addHandler(handler) # Work logger.removeHandler(handler) 正如我所说的,这是可行的,但我遇到的
logger = getLogger("%s:%s" % (__name__, task_id))
handler = FileHandler(task_log_file)
logger.addHandler(handler)
# Work
logger.removeHandler(handler)
正如我所说的,这是可行的,但我遇到的主要问题是,这个记录器并不是真正的临时性的——根据我所读到的logging.Manager
每个记录器都会无限期地挂起,直到关机。在这种情况下,当我完成后,我知道我不会再使用记录器(好的,从技术上来说我可能会,但这将是罕见的),并且假设系统是稳定的,这可能会运行数十万个任务
有一种“正确”的方法吗?你可以有一种方法来标记和扫描你的日志资源文件,或者只使用一种单例模式。我不太清楚这里的意思。通过标记和扫描,我假设您是指定期的日志扫描程序——这似乎过于复杂,更不用说我的部分目标是立即提供每个作业的日志。据我所知,伐木工人都是单身;我的问题的一部分是,我希望每个作业记录器的行为不象一个单例,而是只存在于一个特定的范围内,并在退出该范围时被释放。