我需要了解Tomcat如何能够捕获JVM垃圾回收控制台输出日志并将其放入catalina.out中。Tomcat如何将verbose:gc控制台输出重定向到catalina.out
我试图重定向的System.out和System.err的,但没能做到。我无法获得GC日志的输出。
然而,当激活-verbose :在Tomcat中GC(在catalina.sh,* JAVA_OPT *),后来cheking输出在catalina.out的我能看到GC日志。这怎么可能? Tomcat如何能够将该输出重定向到文件?
也许你知道使用java代码重定向某些java应用程序内的GC日志输出吗?
预先感谢您。
你尝试'java.lang.System.setErr(...)'和'java.lang.System.setOut( ......)'? –
是的,我使用System.setErr()和System.setOut()。这不起作用,新的出错(或错误的源代码)被重定向,我使用System.out.print()写入的所有内容都被写入到我用作目的地的文件中,但是当GC打印出某些内容时,它不会通过“out “变量(既不是槽也不是),并在控制台上结束。 – Hyb
我应该在catalina.sh中更深入地观察。启动命令以'>>“$ CATALINA_OUT”2>&1“&”'结尾,因此控制台中出现的所有内容都会重定向到catalina.out。 问题解决了。 – Hyb