我正在使用 django 1.3 中的日志框架,如此处所述 https://docs.djangoproject.com/en/1.3/topics/logging/
在我的 DEV 环境的 settings.py 文件中,我基本上定义了自定义格式化程序、记录器和处理程序,以便我可以将调试输出记录到文件中。
现在我的代码中到处都是 logger.debug() 语句。
我的问题是:
- 当我在生产中部署时,logger.debug 语句是否有任何(重要的) 对性能的影响? (即我需要把它们全部拿出来吗?)
- 更改 settings.py 文件以使其不再捕获到文件的最佳方法是什么?目前我只是将处理程序更改为 django.utils.log.NullHandler
最佳答案
- 所有这些调试语句对整体性能的影响非常小 - 如果您在负载过重时尝试将所有这些日志消息写入某个文件,性能问题就会显现出来。将大量内容写入文件可能会占用 CPU 和 IO 资源。如果您将日志级别设置为低(警告),这不会成为一个问题,因为这不会导致记录大量消息。当您将来想要调试/增强该代码时,将调试语句保留在其中将会很有帮助。
- 如果您不知道将消息记录到文件或标准输出,则可以使用空处理程序。或者,您可以将日志记录级别降低为“警告”,以便仅显示重要的消息。
关于python - django 1.3 用于在开发环境中进行调试的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465084/