TomcatがJVMガベージコレクションコンソール出力ログを捕捉してcatalina.outに入れる方法を理解する必要があります。Tomcatはverbose:gc console出力をcatalina.outにどのようにリダイレクトしますか
System.outとSystem.errをリダイレクトしようとしましたが、できません。私はGCログの出力を得ることができませんでした。
しかし、Tomcat(catalina.sh、* JAVA_OPT *)で-verbose:gcを有効にしてから、出力をで確認すると、catalina.out GCログが表示されました。これはどのように可能ですか? Tomcatはどのようにその出力をファイルにリダイレクトできましたか?
多分、Javaコードを使用してJavaアプリケーション内でGCログ出力をリダイレクトする方法はわかっていますか?
ありがとうございます。
であるあなたは、 'java.lang.System.setErr(...)をしてみてくださいました'と 'java.lang.System.setOut( ...) '? –
はい、System.setErr()とSystem.setOut()を使用しました。それは動作しません、新しい出力(またはエラーソース)がリダイレクトされ、System.out.print()を使用して書いたものは、出力先として使用するファイルに書き込まれますが、GCが何かを出力すると、変数(トラフエラーもありません)、コンソールで終了します。 – Hyb
私はcatalina.shでもっと深く見ていたはずです。起動コマンドは '' $ CATALINA_OUT "2>&1"& "'で終わり、コンソールに現れるものはすべてcatalina.outにリダイレクトされます。 問題が解決しました。 – Hyb