用format string + args list调用日志函数与内联格式化相比,是否有优势?
我见过(也写过)使用内联字符串格式化的日志代码。
logging.warn("%s %s %s" % (arg1, arg2, arg3))
而我却认为它是better(从性能上讲,更多的是成语)来使用。
logging.warn("%s %s %s", arg1, arg2, arg3)
因为第二种形式避免了在调用日志功能之前的字符串格式化操作。 如果当前的日志级别会过滤掉日志信息,就不需要进行格式化,减少了计算时间和内存分配。
我在这里是否走对了路,或者我错过了什么?