Я написал сценарий, который собирает журналы событий из облачного экрана, записывает их в два файла и затем отправляет содержимое каждого файла по почте. Как я хочу, чтобы получить два сообщения электронной почты, каждый лесозаготовители имеет другой тип журналов, я создал два лесорубов:Два обработчика файлов двух разных регистраторов получают одинаковый контент
logLevel = logging.INFO
doWait = object()
if os.path.exists ('.debug'):
logLevel = logging.DEBUG
logger1 = logging.getLogger()
logger2 = logging.getLogger()
logger1.setLevel(logLevel)
logger2.setLevel(logLevel)
formatter = logging.Formatter('%(asctime)s :: %(levelname)s :: %(message)s')
fileHandler1 = os.path.join('/tmp/', 'error-admin-' + datetime.datetime.utcnow().strftime('%Y-%m-%d') + '.log')
fileHandler2 = os.path.join('/tmp/', 'error-user-' + datetime.datetime.utcnow().strftime('%Y-%m-%d') + '.log')
fh1 = logging.handlers.RotatingFileHandler(fileHandler)
fh2 = logging.handlers.RotatingFileHandler(fileHandler2)
fh1.setLevel(logLevel)
fh2.setLevel(logLevel)
fh1.setFormatter(formatter)
fh2.setFormatter(formatter)
logger1.addHandler(fh1)
logger2.addHandler(fh2)
в основном, я называю такие функции, как, что:
function1(arg1,arg2,logger1)
function2(arg1,arg2,logger2)
Теперь моя проблема заключается в том, что когда я выполняю свой скрипт, я получаю один и тот же контент в обоих обработчиках файлов, даже если я разделяю регистраторы. Почему это происходит?
Вы делаете точно то же самое с вашими двумя лесорубов, почему это должно быть две разные результаты? – iFlo
у каждого регистратора есть другой файл-манипулятор, и когда я вызываю функции, которые собирают события, я указываю, в каком файле я хочу писать журналы, вызывая eather logger1 или logger2 @iFlo. – JavaQueen