Я много боролся с выводом операторов Debug на консоль (+ в файл) и информацией только в файл. Это большой модуль, и я передаю объекты логгера, созданные в основном файле, всем остальным в вызовах функций.
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%Y%m%d %H:%M',
filename='full_log.log',
filemode='w')
console = logging.StreamHandler()
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
console.setLevel(logging.DEBUG)
logging.getLogger('').addHandler(console)
logger_1 = logging.getLogger('logger_1')
logger_module = logging.getLogger('module')
logger_1.debug("sample debug")
logger_1.info("sample info")
fil.main(logger_module)
test / fil.py
def main(logger):
logger.info("Hello logging!")
Информация и отладка выводятся на консоль и записываются в файл. Может кто-нибудь объяснить, пожалуйста, что я делаю не так? Как настроить уровни для печати и записи в файл?