Java 忽略子线程生成的日志

Java 忽略子线程生成的日志,java,multithreading,logging,slft4j,Java,Multithreading,Logging,Slft4j,我目前正在开发的应用程序运行一些独立的库代码,通过PrintWriter将日志负载输出到标准输出。此外,库处理的任务在单独的线程中运行。我想知道是否可以忽略(防止日志出现在控制台上)这些日志。但是,我不能直接修改库代码,所以简单的解决方案是不可能的 干杯 这是哪个图书馆?或者更准确地说:它使用的是某种日志框架吗?如果它只是使用System.out将内容打印到控制台,那么它基本上是一个写得很差的库(tm)。在这种情况下,您所能做的就是将System.out重定向到using。基本上,它使用和覆盖默

我目前正在开发的应用程序运行一些独立的库代码,通过PrintWriter将日志负载输出到标准输出。此外,库处理的任务在单独的线程中运行。我想知道是否可以忽略(防止日志出现在控制台上)这些日志。但是,我不能直接修改库代码,所以简单的解决方案是不可能的


干杯

这是哪个图书馆?或者更准确地说:它使用的是某种日志框架吗?如果它只是使用
System.out
将内容打印到控制台,那么它基本上是一个写得很差的库(tm)。在这种情况下,您所能做的就是将
System.out
重定向到using。基本上,它使用和覆盖默认控制台

如果您的库使用任何日志框架(可能是
java.util.logging
),请尝试找出它使用的日志记录器/类别,并在日志框架中过滤它们


请注意,我没有提到任何关于线程的内容。根据当前线程筛选日志/控制台输出有点棘手,请在您选择的日志框架中使用loggers层次结构。

库名为,我将其用于研究目的。不幸的是,它不依赖任何日志记录功能,而是使用System.out直接打印到控制台。@voo:我看了ECJ的源代码。你说得对,它直接使用
System.out
/
err
。试试SLF4J,也许会有帮助。另请参阅我的update.System Out和Err重定向到SLF4J不起作用,因为ECJ使用wrapped
System.Out.write
调用。看到这个了吗