如何通过JUnit测试拦截SLF4J日志记录?

编程入门 行业动态 更新时间:2024-10-25 01:29:27
本文介绍了如何通过JUnit测试拦截SLF4J日志记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

是否有可能通过JUnit测试用例以某种方式拦截日志记录(SLF4J + logback)并获取 InputStream (或其他可读的内容)?

Is it possible to somehow intercept the logging (SLF4J + logback) and get an InputStream (or something else that is readable) via a JUnit test case...?

推荐答案

您可以创建自定义appender

You can create a custom appender

public class TestAppender extends AppenderBase<LoggingEvent> { static List<LoggingEvent> events = new ArrayList<>(); @Override protected void append(LoggingEvent e) { events.add(e); } }

并配置logback-test.xml以使用它。现在我们可以检查测试中的记录事件:

and configure logback-test.xml to use it. Now we can check logging events from our test:

@Test public void test() { ... Assert.assertEquals(1, TestAppender.events.size()); ... }

更多推荐

如何通过JUnit测试拦截SLF4J日志记录?

本文发布于:2023-11-25 04:00:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1628232.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   日志   JUnit   SLF4J

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!