【发布时间】:2016-04-27 14:13:36
【问题描述】:
我一直在研究我的代码,也许我被它弄糊涂了。
在我的__main__.py 中进行以下设置:
if args.debug:
logpath = '{}/ganalytics_mf70.dbg'.format(backend.utilities.get_module_path())
lvl = logging.DEBUG
else:
logpath = '{}/ganalytics_mf70.log'.format(backend.utilities.get_module_path())
lvl = logging.INFO
log = logging.getLogger('GAnalytics')
log.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s: %(name)-12s: %(levelname)-8s %(message)s')
fh = logging.FileHandler(logpath) # file logging
fh.setLevel(lvl)
fh.setFormatter(formatter)
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
ch = logging.StreamHandler() # console logging
ch.setFormatter(formatter)
ch.setLevel(logging.INFO)
log.addHandler(ch)
log.addHandler(fh)
所有其他 .py 文件都有
import logging
log = logging.GetLogger(__name__)
在顶部。
包装大纲:
program/
- backend/
- foo.py
- bar.py
- spam.py
- __init__.py
- __main__.py
这会在我的__main__.py 中记录所有log.debug 和更高级别的调用 - 但在spam、bar、foo 或__init__ py 文件中没有log 调用。
我没有看到的明显错误在哪里?
【问题讨论】:
标签: python-3.x logging