在一个脚本中定义python logger并在所有其他脚本中使用它

时间:2015-09-20 09:25:53

标签: python-2.7 logging

我有两个python脚本和一个python文件,其中包含这些脚本使用的常用函数。 我想在这个公共文件中定义一个记录器函数,并希望在测试脚本中使用这些记录器。 任何人都可以提供有关如何在通用文件中定义此记录器并在所有其他文件中使用它的最佳解决方案? 如果我的例子有误,请更正。 :)

例: 常用文件:(common.py) 该文件应该有一个名为“logtool”的记录器,可供所有脚本使用

我的测试脚本1:(test1.py)

logtool.info("some text")
logtool.debug("Some text")

我的测试脚本2:(test2.py)

logtool.info("Some text")
logtool.debug("Some text")

1 个答案:

答案 0 :(得分:0)

您可以在common.py文件中使用以下代码 -

import logging

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%m-%d %H:%M',
                    filename='logger.log',
                    filemode='w', )
logtool = logging.getLogger('MainLogs')
logtool.setLevel(logging.INFO)
fh = logging.FileHandler('logger.log')
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
logtool.addHandler(ch)

然后,只需在其他脚本中导入记录器 -

from common import logtool