【发布时间】:2011-08-23 21:00:00
【问题描述】:
我有一个使用内置 logging 的简单 Python 脚本。
我正在函数内部配置日志记录。基本结构是这样的:
#!/usr/bin/env python
import logging
import ...
def configure_logging():
logger = logging.getLogger("my logger")
logger.setLevel(logging.DEBUG)
# Format for our loglines
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# Setup console logging
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
logger.addHandler(ch)
# Setup file logging as well
fh = logging.FileHandler(LOG_FILENAME)
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
def count_parrots():
...
logger.debug??
if __name__ == '__main__':
logger = configure_logging()
logger.debug("I'm a log file")
parrots = count_parrots()
我可以从__main__ 内部调用 logger。但是,如何从 count_parrots() 函数内部调用 logger?像这样处理配置记录器的最 Pythonic 方式是什么?
【问题讨论】: