是否可以在 Python 中实现等效于以下(伪)代码?
#define DEBUG(topic, msg) LOG_IMPL(Logger.DEBUG, topic, msg)
#define INFO(topic, msg) LOG_IMPL(Logger.INFO, topic, msg)
#define LOG_IMPL(level, topic, msg) if(Logger.level() <= level) { Logger.log(level, topic, msg); }
DEBUG("MyComponent", "What you logging at?")
这样做的好处是您不必评估字符串日志消息,例如加入字符串、调用 .format() 等)
更新:
懒惰的记录器消息字符串评估- 这回答了我的问题,所以我将投票关闭这篇文章。