我正在尝试将日志记录(添加到控制台而不是文件)添加到我已经处理了一段时间的代码中。读了一点,我有一个模式,我认为应该工作,但我不太确定我错在哪里。
我有以下三个文件(显然是简化的):
控制器.pyimport my_module
import logging
from setup_log import configure_log
def main():
logger = configure_log(logging.DEBUG, __name__)
logger.info('Started logging')
my_module.main()
if __name__ == "__main__":
main()
安装日志.pyimport logging
def configure_log(level=None, name=None):
logger = logging.getLogger(name)
logger.setLevel(level)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
chFormatter = logging.Formatter('%(levelname)s - %(filename)s - Line: %(lineno)d - %(message)s')
console_handler.setFormatter(chFormatter)
logger.addHandler(console_handler)
return logger
我的模块.pyimport logging
def main():
logger = logging.getLogger(__name__)
logger.info("Starting my_module")
print "Something"
if __name__ == "__main__":
main()
当我运行它们时,只有对日志记录的第一次调用会产生对控制台的输出-“Started logging”。对日志记录的第二个调用-“启动我的模块”刚刚被传递。
我误解了什么?