我是一个python新手,试图实现登录到我的代码中。我有两个模块
main.py submodule.py
main.py
import logging
from logging.handlers import RotatingFileHandler
import submodule
import logging
from logging.handlers import RotatingFileHandler
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler('master.log', maxBytes=2000000, backupCount=10)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug('DEBUG LEVEL - MAIN MODULE')
logger.info('INFO LEVEL - MAIN MODULE')
submodule.loggerCall()
子模块.py
import logging
from logging.handlers import RotatingFileHandler
def loggerCall():
logger = logging.getLogger(__name__)
# logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler('master.log', maxBytes=2000000, backupCount=10)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug('SUBMODULE: DEBUG LOGGING MODE : ')
logger.info('Submodule: INFO LOG')
return
我认为只要从子模块调用getLogger,它就应该从根logger继承日志级处理程序的详细信息。但是,在我的例子中,我必须在子模块中再次指定日志级别和处理程序,以便将它们打印到同一个日志文件中。
另外,如果我的子模块中有很多方法和类。如何在不必再次定义日志级别处理程序的情况下进行此操作。
其思想是在主模块中设置一个日志文件,并根据主模块中设置的日志级别在同一日志中打印子模块。
提前感谢
很抱歉,因为这可能是一个重复的问题,我也经历过类似的问题,但无法弄清楚这是怎么回事。因此张贴这个问题。我不是故意创建一个我没有查找到的复制bcz。
目前没有回答
相关问题 更多 >
编程相关推荐