Java から来て、log.debug をラップすることをお勧めします
if (log.isDebugEnabled())
log.debug("blah blah blah "+someObject+" more blahs than you can blah at"):
Pythonでこれを行う同様の理由はありますか? または、Python は文字列を別の方法で処理しますか?
追加のチェックは必要ありません。ログレベルを設定するだけです:
>>> import logging
>>> root = logging.getLogger()
>>> root.setLevel(logging.INFO)
>>> root.addHandler(logging.StreamHandler())
>>> logging.error("test")
test
>>> logging.debug("test")
>>>
ここでも、追加のチェックは必要ありません (ソース コードは から取得logging/__init__.py
):
class Logger(Filterer):
...
def debug(self, msg, *args, **kwargs):
"""
Log 'msg % args' with severity 'DEBUG'.
To pass exception information, use the keyword argument exc_info with
a true value, e.g.
logger.debug("Houston, we have a %s", "thorny problem", exc_info=1)
"""
if self.isEnabledFor(DEBUG):
self._log(DEBUG, msg, args, **kwargs)
ご覧のとおり、ロギング自体がチェックを行います。
それが役立つことを願っています。