ログスパムを避けるために、数秒ごとにデバッグメッセージをどのように記録できるかを調べようとしています。Javaで数秒ごとにログを記録してログスパムを回避する方法
以下のような機能があります。
public void doSomething() {
// log is a logger object from org.slf4j
log.debug("doSomething: Enter");
// do some task
log.debug("doSomething: Exit");
return;
}
この機能は、私は、ログメッセージは100回印刷を取得する必要はありませんループ
for (int i = 0; i < 100; i++) {
doSomething();
thread.sleep(100); // sleep for 100 milli seconds
}
で100回呼び出されます。私はそれが毎秒印刷されることを望みます。
私はこれを制御できますか?私はdoSomething()に "iteration i"を渡して、特定の繰り返しがあるときだけログを出力すると考えることができます。
何かのように、
public void doSomething(int i) {
if (i == 25) {
// log is a logger object from org.slf4j
log.debug("doSomething: Enter");
}
// do some task
if (i == 25) {
// log is a logger object from org.slf4j
log.debug("doSomething: Exit");
}
return;
}
for (int i = 0; i < 100; i++) {
doSomething(i);
thread.sleep(100); // sleep for 100 milli seconds
}
はこれを行うには良い方法はありますか?ありがとう!
関数に 'i'を渡すのではなく、ループのログを記録するのはどうですか? – nickb
doSomething()を呼び出す他の関数があるかもしれません。だから私は、機能内のログを行うことが良いと思った – SyncMaster
[ログの頻度を制限する方法は?]の可能な複写?()http://stackoverflow.com/questions/10212644/how-to-limit-logging-frequency – jmehrens