Python-日志记录和配置更改

Python-日志记录和配置更改,python,logging,Python,Logging,好的,要描述我的问题有点难,我会尽量简单地解释 当我的应用程序启动时,它从logginglib创建记录器。 在加载配置文件之前,记录器的唯一处理程序是stdout 在打印了几个日志之后,应用程序最终加载配置文件,其中包括记录器配置选项,例如存储日志文件。我修改了我的记录器选项,以便与标准输出处理程序同时使用该文件的文件处理程序。但我需要使用配置中的格式将脚本生成的所有以前的日志存储在此文件中。我考虑的是MemoryHandler,它与stdout处理程序同时运行,在加载配置之后,将所有日志从内存

好的,要描述我的问题有点难,我会尽量简单地解释

当我的应用程序启动时,它从
logging
lib创建记录器。 在加载配置文件之前,记录器的唯一处理程序是stdout

在打印了几个日志之后,应用程序最终加载配置文件,其中包括记录器配置选项,例如存储日志文件。我修改了我的记录器选项,以便与标准输出处理程序同时使用该文件的文件处理程序。但我需要使用配置中的格式将脚本生成的所有以前的日志存储在此文件中。我考虑的是MemoryHandler,它与stdout处理程序同时运行,在加载配置之后,将所有日志从内存写入到文件中——在创建文件处理程序之前


问题是MemoryHandler没有很好的文档记录,而这种解决问题的方法对我来说并不好看。因此,简而言之,我正在寻找从MemoryHandler将日志保存到文件中的方法,或者解决此问题的更好方法。

如果不查看您的代码,很难提供有用的答案。我建议您在执行任何其他操作之前,首先尝试加载配置并配置记录器。为什么应用程序不能更早地加载记录器?因为应用程序不只是加载配置文件。首先,我使用YAML文件进行配置。如果这些文件不包含语法错误,则必须对其进行分析和检查。秒,加载YAML文件并转换为字典后,我验证dict,检查每个项目是否具有正确的值类型等。第三,在设置记录器之前,我对字典中的每个重要项目进行全面测试-检查给定路径是否存在且可写,检查数据库设置是否正确等,然后我设置了记录器和其他东西。在整个过程中,我想打印有关进度的消息。在设置记录器之前,脚本中总会有一些部分执行。记录器通常是加载配置文件后配置的第一件事。在大多数情况下,这不是一个问题,因为在加载conf文件的过程中记录任何故障都是没有用的。我建议重新安排你的代码;加载conf文件(大概是pyyaml?),然后设置记录器,然后根据需要检查配置值和日志。MemoryHandler的文档中缺少什么?它是一个非常简单的处理程序,所以没有太多的文档。例如,在Web上有使用它的示例,如果不查看您的代码,很难提供有用的答案。我建议您在执行任何其他操作之前,首先尝试加载配置并配置记录器。为什么应用程序不能更早地加载记录器?因为应用程序不只是加载配置文件。首先,我使用YAML文件进行配置。如果这些文件不包含语法错误,则必须对其进行分析和检查。秒,加载YAML文件并转换为字典后,我验证dict,检查每个项目是否具有正确的值类型等。第三,在设置记录器之前,我对字典中的每个重要项目进行全面测试-检查给定路径是否存在且可写,检查数据库设置是否正确等,然后我设置了记录器和其他东西。在整个过程中,我想打印有关进度的消息。在设置记录器之前,脚本中总会有一些部分执行。记录器通常是加载配置文件后配置的第一件事。在大多数情况下,这不是一个问题,因为在加载conf文件的过程中记录任何故障都是没有用的。我建议重新安排你的代码;加载conf文件(大概是pyyaml?),然后设置记录器,然后根据需要检查配置值和日志。MemoryHandler的文档中缺少什么?它是一个非常简单的处理程序,所以没有太多的文档。在Web上有其使用的示例,例如和