Log4j日志显示在allure报告中

nnsrf1az  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(143)

我试图在诱惑报告中显示logj 4日志,有不同的方法来做到这一点,我想找到最好的解决方案。
作为一个选项,我可以创建这样的东西:

public class AllureLogger {
    private static final Logger logger = LogManager.getLogger(AllureLogger.class);

    public static void info(String message) {
        logger.info(message);
        attachLogToAllure("INFO: " + message);
    }

    public static void error(String message) {
        logger.error(message);
        attachLogToAllure("ERROR: " + message);
    }

    @Attachment(value = "{logMessage}", type = "text/plain")
    private static String attachLogToAllure(String logMessage) {
        return logMessage;
    }
}

但也许有更合适的方法。我没有找到任何log4j-allure集成的库。

cwdobuhd

cwdobuhd1#

您可以使用AllureLifecycle修改当前测试用例/测试步骤。此外,您可以使用监听器在测试失败后修改诱惑(例如TestNG侦听器)。

@Log4j2
public class TestListener extends AllureTestNg {
    @Override
    public void onTestStart(ITestResult testResult) {
        log.debug("Running test method: {}",testResult.getMethod().getMethodName());
    }
 }

你也不需要创建logger示例,相反,你可以在类上面使用注解@Log4j或@Log4j2(但要注意包)。

相关问题