Javaプログラム内のメソッドのすべての実行をログに記録/記録/監視/表示できる方法はありますか?
例えば:
12:30:12 someMethod("argument")
12:30:12 anotherMethos(1, 2, 3)
12:30:13 finalMethod("invalidInputHere1234")
Javaプログラム内のメソッドのすべての実行をログに記録/記録/監視/表示できる方法はありますか?
例えば:
12:30:12 someMethod("argument")
12:30:12 anotherMethos(1, 2, 3)
12:30:13 finalMethod("invalidInputHere1234")
簡単な答え:メソッドを変更し、ロギングステートメントを挿入します。
メソッドを変更できない場合でも機能する、もう少し複雑な答え:アスペクトベースのプログラミングを調べてください。
コードを変更せずに、 Chrononタイムトラベルデバッガーのように、状態の変化を記録できるデバッガーまたはプロファイラーを使用できます。
これを試してください:https ://github.com/taobao/TProfiler
プログラムを録画して、Chrononで再生できます
jcabi-aspectsの@Loggable
アノテーションを使用できます。これは、デバッグするすべてのメソッドを単純なログメカニズムでラップします。
@Loggable(Loggable.DEBUG)
public String load(URL url) {
return url.openConnection().getContent();
}
SLF4Jを介してログに記録します。