オペレーティングシステムサービスとして構成するプログラムをJavaで作成しました。プログラムはソケットで受け取ったデータを読み取り、処理して格納します。また、エラーを記録し、最終的に情報フローをコンソールに表示して操作を観察します。実行中のJavaプログラムのコンソール出力を他のJavaアプリケーションから表示
サービスとして設定した後、必要が生じました。
アプリケーションがバックグラウンドにあり、コンソールが開いていない場合、コンソールで印刷アクティビティを表示するにはどうすればよいですか?
そのアプリケーションのコンソール出力を表示する方法はありますか?
作成されたサービスのコンソール出力を読み込んで印刷するために、別のJavaアプリケーションを作成することができる場合は、私には起こりました。それは問題を解決するだろうか?
これはJavaの質問ではなく、OSに関する質問です。一般に、あなたのアプリを起動したプロセスだけがstdoutを読むことができます。サービスに関しては、あなたのサービスを開始するOS機能もまた、あなたが噛み付くかもしれない何らかの種類のログを使用することを願っています。それ以外の場合は、他の形式のIPCを使用する必要があります(例えばUNIXの名前付きパイプなど) – ohlec
ロギングフレームワーク([log4j](https://logging.apache.org/log4j/2.0/) (stdout)に書き込むのではなく、[ログバック](https://logback.qos.ch/)など、おそらく[slf4j](https://www.slf4j.org/) '? – Morfic