- ベストアンサー
ログについて
プログラムを書いたのですが、ログをファイルで出力させたいと思いました。 (1)Loggerというクラスがあるのはわかったのですが、記述の仕方がよくわかりません。例えば、ソケット通信時にどのようなデータがどこに送られているかをログに取りたい場合はどこにどのように記述すればよいのでしょうか。 FileHandler handler = new FileHandler("/tmp/java.log"); Logger logger = Logger.getLogger("Sample"); handler.setFormatter(new SimpleFormatter()); logger.addHandler(handler); logger.setLevel(Level.ALL); try { ... DatagramSocket soc = new DatagramSocket(10000); DatagramPacket sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, remoteHost, destPort); soc.send(sendPacket); ... (2)アホな質問で恐縮ですが、ログというのは出力したい箇所に一つ一つ書いていかなければならないものなのでしょうか?そうするとプログラムが2倍近くの長さになりそうなのですが。。一旦書き上げたプログラムにちょろっと設定を足すだけで、メソッドを実行した箇所などを一括してログに取るようなことは出来ないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
javaのLoggerを使うのも良いですが、javaでログ出力で一般的なlog4jを使用してみてはいかがですか? (1)Loggerというクラスがあるのはわかったのですが、記述の仕方がよくわかりません。例えば、ソケット通信時にどのようなデータがどこに送られているかをログに取りたい場合はどこにどのように記述すればよいのでしょうか。 →loggerのlogメソッドを呼び出せばログが出力されます。tryの中でlogメソッドを記述すればログが出力されませんか? (2)アホな質問で恐縮ですが、ログというのは出力したい箇所に一つ一つ書いていかなければならないものなのでしょうか?そうするとプログラムが2倍近くの長さになりそうなのですが。。一旦書き上げたプログラムにちょろっと設定を足すだけで、メソッドを実行した箇所などを一括してログに取るようなことは出来ないのでしょうか? →ログは出力したい場所にひとつひとつ記述しなければなりません。それがログです。 実際に出力するかどうかはログレベルで制御します。 ログでステップ数が増えてしまうことは仕方ありません。
その他の回答 (1)
- chomakichi
- ベストアンサー率57% (22/38)
こんなのありました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31083&forum=12&1 その他、「java」「logging」とかで検索すればたくさん解説が出てきますよ。
お礼
有り難うございました。
お礼
ありがとうございます。ログファイルは作成出来たのですが、画面にも出力されてしまいます。画面出力だけやめることは出来るのでしょうか。