С помощью logger2 я попытался записать некоторую информацию INFOS, уровень установлен на DEBUG в add_file_logging(). Но INFOS не записываются в файл. ОШИБКИ записываются в файл. Но функция add_file_logging() должна выполняться во время регистрации ОШИБОК. Но проблема, должно быть, в том, что уровень ведения журнала не установлен.
С logger1 я сделал то же самое - тот же код - с функцией set_logger() в самом классе, она работает нормально.
Поэтому мне интересно, почему тот же метод не работает при импорте. Может кто-нибудь объяснить мне разницу?
Было бы очень хорошо
myhelper.tools/src/myhelper/tools/worker.py
import os
import sys
import logging
import logging.handlers
from myhelper.tools import add_file_logging
logger1 = logging.getLogger('myLogger1')
logger2 = logging.getLogger('myLogger2')
class Worker(object):
def __init__(self):
self.to_delete = False
...
def set_logger (self, logger, logfile):
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
def run(self):
self.set_logger(logger1, os.path.dirname(__file__) + "logger1.log")
add_file_logging(logger2, os.path.dirname(__file__) + "logger2.log")
...
def main():
work = XmlWorker()
work.run()
myhelper.tools/src/myhelper/tools/init.py
символы подчеркивания init.py автоматически удаляются в init.py
# -*- coding: utf-8 -*-
import logging
import logging.handlers
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)-8s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S')
class AboveInfoFilter(logging.Filter):
def filter(self, record):
return record.levelno > 20
def add_file_logging (logger, logfile):
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
Мобильная версия