LocustIO: отображать журналы при записи в файл журнала

Я нашел способ создавать файлы журналов в LocustIO. Он успешно записывает все журналы в файл.

Есть ли способ, которым терминал отображает журналы и записывает их в файл журнала? Просто чтобы я мог легко отслеживать результаты, не открывая каждый раз файл журнала.

Пробовал программно но все равно не печатает.

После запуска locust -f my_locust_file.py --logfile=locustfile.log ничего не печатается

@task(1)
def fetch_records(self):
... 
    response = self.client.get(full_result, auth=login_creds, headers=headers)
    entry_log = "Fetch Records | Username: {}\tPassword: {} | Response: {}".format(self.username, self.password, response)
    logging.info(entry_log)
    print(entry_log)

ОБНОВЛЕНИЕ
Пробовал также использовать регистраторы python и запускать locust -f my_locust_file.py без --logfile. Он отображается в консоли, но не выводится в файл журнала.

def on_start(self):
    logging.basicConfig(filename=my_logfile, level=logging.INFO)

person Dee    schedule 03.12.2018    source источник
comment
Добавьте второй обработчик, который регистрируется в stderr.   -  person Klaus D.    schedule 03.12.2018
comment
Пробовал первые два здесь «заставить регистраторы python выводить все сообщения на стандартный вывод в дополнение к файлу журнала»> stackoverflow.com/questions/14058453/. Не совсем знаком с регистраторами и обработчиками. Можете ли вы привести пример?   -  person Dee    schedule 03.12.2018


Ответы (1)


Адаптирован путь из здесь. Лучше всего поместить на уровень класса, чтобы вы не столкнулись с дубликатами журналов в файле.

log = logging.getLogger()
log.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

fh = logging.FileHandler('locustfile.log')
fh.setLevel(logging.INFO)
fh.setFormatter(formatter)
log.addHandler(fh)

log.info("Fetch Records | Username: {}\tPassword: {} | {}".format(self.username, self.password, response))
person Dee    schedule 03.12.2018