EclipseとGlassFishでJavaEE(JSF×CDI×JPA)で開発をしていると標準出力(System.out.println等)がコンソールに出力されなくなってしまうことがあります。
原因はわからないので根本的な解決はできないのですが、逃げ道があるので紹介します。
GlassFishサーバーのログを見る
%{glassfishインストールディレクトリ}%\glassfish\domains\domain1\logsにserver.logが出力されています。こちらには標準出力内容も出力されているのでこちらを確認するのが一番手っ取り早い方法です。
とは言ってもいちいちファイルを開いていては大変なのでEclipseのログ確認プラグインであるNTailを利用するのが良いでしょう。
ツールバーから、ウィンドウ -> ビューの表示 -> その他 -> ロギング -> NTail
を開きます。Ntailのビューが開いたら、
図中の①の▽印をクリックし、「新規ビューアー」を選択します。
ログ・ファイル名に%{glassfishインストールディレクトリ}%\glassfish\domains\domain1\logs\server.logを設定しOKで完了です。
こうするとログファイルが更新されたタイミングでNTailのビューにログ内容は自動的に反映されます。
ロギングツールを利用する
Log4j2などロギングツールを利用し標準出力ではなくファイル出力するように変更する。ファイルに出力したらNTailを利用しログファイルを確認するようにすればOKです。
最後に
一番手っ取り早いのはGlassFishのログを確認することですが、実運用では標準出力は利用しないのでロギングツールを利用したほうが良いでしょう。
勉強なのか実システムなのかによって切り替えればよいと思います。
根本的な解決方法を知っている方いましたらコメントいただけると嬉しいです。