- PR -

デバッグモード時にのみ、メッセージを出力したい

1
投稿者投稿内容
Ier
常連さん
会議室デビュー日: 2006/02/23
投稿数: 33
投稿日時: 2007-07-07 17:30
VB.netにあるような Debug.WriteLine() のようなデバッグ時にのみ出力される機能はjavaにはないのでしょうか?
アサーション機能を習ったのですが、
assert System.out.println("hoge");
のような書き方ができないので、
assert myClass.printLine("hoge");
のような自作メソッドやstaticクラスを作成してやり過ごしているのですが、
「assertは事前条件や事後条件を記述するための機能である」と習ったので、
このような利用方法は間違っているような気がしています。

Debug時にのみSystem.out.printlnのように出力する機能はないのでしょうか?
よろしくお願いします。
かに
会議室デビュー日: 2005/12/04
投稿数: 11
投稿日時: 2007-07-07 18:08
log4jではダメなんでしょうか?
Ier
常連さん
会議室デビュー日: 2006/02/23
投稿数: 33
投稿日時: 2007-07-07 18:30
返答ありがとうございます。
このようなツールがあるのを知りませんでした。
ありがとうございます。早速試してみたいと思います。
本当にありがとうございました。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-08 00:18
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/logging/Logger.html

その前にこのクラスに気づきましょう。

どうもこれが DEBUG 中用みたいですがね。
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/logging/Logger.html#finest(java.lang.String)
マーサ
ベテラン
会議室デビュー日: 2004/11/26
投稿数: 87
投稿日時: 2007-07-09 14:01
Log4Jを使用するなら、isDebugEnabled()でチェックしてから
デバッグログを出力するようにしましょう。

実行時のログ出力は、debugレベルのログでも出力するロジックを通ります。
#設定レベルがdebugより高い場合は、メッセージを捨てているだけ。
isDebugEnabled()でチェックする事により、実行時のコストが軽減されます。

LoggerだとisLoggable(LEVEL)に相当するのかなぁ?
1

スキルアップ/キャリアアップ(JOB@IT)