忍者ブログ
[29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19]

DATE : 2017/12/12 (Tue)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2006/04/15 (Sat)

前回の記事

ログの生成が重い場合

これでログが出力できるようになりました。

しかし、出力するログのレベルが info 以上で次のような場合を考えてみます。

public void execute(int a) {
    log.trace("引数" + a + "で execute 起動");
}

Log#trace(String) は実行されますが、出力するログレベルが info 未満なので、ログには出力されません。すると、文字列の連結処理「"引数" + a + "で execute 起動"」が無駄になってしまいます。

最近のマシンは性能が良いので、上のように無駄になる処理があっても実行速度には全くと言っていいほど影響しません。

しかし、もし明らかに影響を与えているような処理があれば、次の方法で重い処理を回避できます。

public void execute(int a) {
    if (log.isTraceEnabled()) {
        log.trace("引数" + a + "で execute 起動");
    }
}

Log#isTraceEnabled() によって、trace のログが出力される状況であれば true 、出力されない状況であれば false が得られます。

このような、あるレベルのログが出力されるかどうかを確認するメソッドもレベルごとに用意されています。例えば、 debug レベルであれば次のようになります。

public void execute(int a) {
    if (log.isDebugEnabled()) {
        log.debug("引数" + a + "で execute 起動");
    }
}

つづきます

PR
●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
●この記事へのトラックバック
この記事にトラックバックする:
忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)
ブログ内検索
最近の状況
リンク
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)