Добрый день!
Проблема с логами от Allure
При запуска теста, в датапровайдере есть вызовы attachment. Но тк тест еще никакой не запущен, вижу в логах следующее:
[main] ERROR io.qameta.allure.AllureLifecycle - Could not start step: no test case running
[main] ERROR io.qameta.allure.AllureLifecycle - Could not add attachment: no test is running
[main] ERROR io.qameta.allure.AllureLifecycle - Could not update step: no step running
[main] ERROR io.qameta.allure.AllureLifecycle - Could not stop step: no step running
Не могу понять как мне от них избавиться. Пробовала log4j2 использовать. Но такое ощущение, что эти логи мимо него проходят и не отлавливаются.
Если кто-то сталкивался с таким, помогите пожалуйста
Всё правильно ругается, тест ещё не начался, не к чему ещё аттачить.
В датапровайдере сохраняйте то что надо приаттачить куда-нить (контекст, переменную, файл или т.п.), и атачьте уже в бефоре тест.
На самом деле, аттачить ничего и не надо. В глубине вызовов в Датапровайдере есть работа с Апи. Реализовано так, что вызовы аттачатся. И вроде оно удобно, универсально выходит. Но в итоге засоряются логи
Логи Аллюр пишет через slf4j
У меня используется log4j2
Может, в этом есть какая-то проблема
Знакомая проблема, сам сталкивался с этим, только для логов от LittleProxy.
И тоже долго искал решение, но в итоге нашёл.
Решается это так:
Добавляете simplelogger.properties в src\main\resources следующего содержания:
# SLF4J's SimpleLogger configuration file
# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err.
# Default logging detail level for all instances of SimpleLogger.
# Must be one of ("trace", "debug", "info", "warn", or "error").
# If not specified, defaults to "info".
org.slf4j.simpleLogger.defaultLogLevel=info
# ТУТ ПЕРЕЧИСЛЯМ ВСЕ КЛАССЫ для которых хотим задизейблить логирование
org.slf4j.simpleLogger.log.org.littleshoot.proxy.impl.ProxyToServerConnection=off
# Set to true if you want the current date and time to be included in output messages.
# Default is false, and will output the number of milliseconds elapsed since startup.
org.slf4j.simpleLogger.showDateTime=true
# The date and time format to be used in the output messages.
# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat.
# If the format is not specified or is invalid, the default format is used.
# The default format is yyyy-MM-dd HH:mm:ss:SSS Z.
org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss
# Set to true if you want to output the current thread name.
# Defaults to true.
org.slf4j.simpleLogger.showThreadName=true
# Set to true if you want the Logger instance name to be included in output messages.
# Defaults to true.
org.slf4j.simpleLogger.showLogName=true
# Set to true if you want the last component of the name to be included in output messages.
# Defaults to false.
org.slf4j.simpleLogger.showShortLogName=false
Обратите внимание на сроку:
# ТУТ ПЕРЕЧИСЛЯМ ВСЕ КЛАССЫ для которых хотим задизейблить логирование
org.slf4j.simpleLogger.log.org.littleshoot.proxy.impl.ProxyToServerConnection=off