微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 maven 故障安全的子进程的日志消息延迟

如何解决使用 maven 故障安全的子进程的日志消息延迟

我使用 JPMS 测试模块,调试时我使用以下命令:

mvn -Dmaven.failsafe.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" clean verify

因此,所有测试都在子进程中执行。然而,有一个问题。在子进程中执行测试时 然后只有在执行测试后才会在控制台上打印消息。但是,我需要在调试期间立即查看消息。 正如我发现消息在 org.apache.maven.surefire.booter.spi.LegacyMasterProcessChannelEncoder

中的以下代码之后打印在控制台上
private void encodeAndPrintEvent( StringBuilder event,boolean sendImmediately )
{
    try
    {
        //noinspection ResultOfMethodCallIgnored
        Thread.interrupted();
        byte[] array = event.append( '\n' )
            .toString()
            .getBytes( STREAM_ENCODING );
        ByteBuffer bb = ByteBuffer.wrap( array );
        if ( sendImmediately )
        {
            out.write( bb );   <=========== AFTER THIS LINE
        }
        else
        {
            out.writeBuffered( bb );
        }
    }
    catch ( ClosedChannelException e )
    {
        if ( !onExit )
        {
            DumpErrorSingleton.getSingleton()
                .dumpException( e,"Channel closed while writing the event '" + event + "'." );
        }
    }
…..
}

如果有任何解决方案/标志可以立即在控制台上打印来自子进程的日志消息,有人能坐下吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。