Idea中测试时,日志输出混合问题
Closed this issue · 9 comments
lagnx commented
理想情况应该是:idea中可以将@test测试输出和总体日志输出分开,如果是下图中的测试,点击最上面的HelloTest应该显示所有日志,点击hello应该只显示该方法的输出
实际情况:最上面HelloTest显示所有输出,点击hello会显示solon初始化的日志以及自己的输出,如下所示:
测试代码如下:
@RunWith(SolonJUnit4ClassRunner.class)
@SolonTest(App.class)
public class HelloTest extends HttpTester {
@Test
public void hello() throws IOException {
System.out.println("hello");
// assert path("/hello?name=world").get().contains("world");
// assert path("/hello?name=solon").get().contains("solon");
}
@Test
public void nextHello() {
System.out.println("next Hello");
}
}
lagnx commented
在Idea中Spring的日志是可以按照如上所述分别显示的。简单看了一下,solon中日志输出是直接System.out.println输出的,Spring中日志输出似乎是通过PrintStream输出的,不清楚Idea是如何将日志分开的。
noear commented
使用的日志插件不同,会用不同的方案:)
noear commented
你现在可能用的是:solon.logging.simple 。换成 solon.logging.logback 试试看
lagnx commented
我觉得可能和日志插件无关,因为是最开始的日志是 Solon 类使用内部的日志工具 LogUtil 输出的。
当然我也尝试了更换为 solon.logging.logback,但是结果依然是这样
noear commented
你研究试试?
lagnx commented
我试试
lagnx commented
感觉很难解决,输出按照不同标签进行划分和 Idea 捆绑的 Junit 插件有关
而且测试其他工程时发现使用 Junit5 之后这个问题就解决了(上面的是 Junit4)
lagnx commented
所以我打算关闭这个问题了 :<
noear commented
好关闭:)