我有一个在 Pyramid 框架上编写的 Python 应用程序。
我们使用标准导入库真正利用了登录(用于调试)。
当我们在生产环境中分析内容时,我们的日志记录活动似乎有相当多的开销。所有的字符串格式和循环加起来。我很想删除它,但我们不能——我们确实需要保留它以进行测试,有时还需要在生产环境中进行调试。
我想知道是否有人有有效的策略来根据需要最小化日志记录,所以这段代码可以在我们的生产环境中执行期间被“优化掉”并且根本无法运行。
例如,在 mod_perl 下,编译器会“优化掉”在 False 常量下运行的语句
在伪代码中......(我很久没有接触过perl了!)
use constant DEBUG => False ;
if ( DEBUG ) {
log.debug("stuff here " + string );
}
或者
use constant DEBUG => False ;
DEBUG && log.debug("stuff here " + string );
在这些情况下,对 log.debug 的调用甚至字符串插值都不会发生。
谁能推荐一种在 Python 下模仿该行为的有效方法?