マルチスレッドJavaプログラムのメソッド呼び出しを記録するJavaクラスを作成しようとしています。私は方法の呼び出しを取得する方法を見つけるために管理していない。私はRuntime.getRuntime()。traceMethodCalls(true)を使用して、Thread.getAllStackTraces()。values()を使用し、StackTraceElementをループしてみました。 にアクセスすると、現在のコードが表示されます。改善のために何をすべきか教えてください。Javaで外部ツールや外部ライブラリを使用しないメソッド呼び出しをログに記録する
0
A
答えて
1
各メソッドごとに、または外部ツールなしで、ログステートメントをそのまま記述することなく、すべてのメソッド呼び出しをログに記録できない場合があります。おそらく、そのタスクを達成する最も簡単な方法はAspectJのようなツールを使ったアスペクト指向プログラミングです。実際には、これを行う方法についての記事も見つかりました。http://www.yegor256.com/2014/06/01/aop-aspectj-java-method-logging.htmlすべてのクラスにプロキシを使用して独自のツールを構築できます。
0
他のクラスのログクラスへの参照があります。ロギングクラスをシングルトンとして設定し、そのインスタンスが1つしかないようにします。それをログに置かれる文字列を受け取り、いくつかの方法を与え、その後、あなたの他のクラスのメソッドを形成し、ロギングクラスのメソッドを呼び出す...
class Logger {
static addLogEntry(String logEntry) {
// some method to add log entry to your log
}
}
class Foo {
Logger aLogger;
public Foo() {
// get your singleton Logger instance
aLogger = getLogger();
}
public void someMethodInThisClass() {
aLogger.addLogEntry("in someMethodInSomeClass");
}
}
にそれを行うには、おそらくよりエレガントな方法を、それうまくいくはずです。
+0
これは私が望んでいたものではありません。実行時にすべてのメソッド呼び出しを取得してファイルに保存できるクラスが必要です。 – Nameless
関連する問題
- 1. クラスと外部メソッド呼び出し
- 2. 外部メソッド呼び出しヘルプ
- 3. Grails 3外部メソッドの呼び出し
- 4. log4netのは、ファイルまたはコンソール(外部log4net.configファイル)をログに記録するログ記録されていない
- 5. Javaのクラスの外部からメソッドを呼び出す
- 6. Java:匿名の内部クラスで外部クラスメソッドを呼び出す
- 7. 外部キーおよび更新記録
- 8. apigatewayを使用して外部APIを呼び出す
- 9. CodeDomを使用して外部クラスからメソッドを呼び出す
- 10. リフレクションを使用して外部jar内のメソッドを呼び出す方法
- 11. document.ready()を使用しないで外部jQuery関数を呼び出す。
- 12. NLog LogEventInfoを使用して例外をログに記録する
- 13. コマンドラインから外部プロセス信号をログに記録
- 14. ノードJS: 'https'ライブラリで外部HTTPリクエストを呼び出す
- 15. Javascriptで外部APIを呼び出す
- 16. 外部スクリプトでのモデルとそのメソッドの呼び出し
- 17. 外部メソッド(角2)を呼び出すメソッドのジャスミンスパイ
- 18. C#外部ライブラリ(Lua)呼び出し問題
- 19. IE9で外部インターフェイス呼び出しが動作しない
- 20. 外部アプリケーションの呼び出し
- 21. エラーが外部関数呼び出し
- 22. 呼び出し外クラスの内部クラス
- 23. V8 JavaScriptエンジンは外部ライブラリや関数を呼び出せますか?
- 24. AWSラムダJAVA:外部ライブラリの使用
- 25. iphoneで外部の.hファイルのメソッドを呼び出す方法
- 26. 外部関数でメソッドを呼び出す方法
- 27. Fitnesseのすべてのメソッド呼び出しをログに記録する
- 28. ブラウザなしで外部JavaScript関数を呼び出す
- 29. Mock外部のメソッド呼び出しIn Juintsクラスから
- 30. 外部からのメソッドの呼び出し関数ja
何か別の方法がありますか?現在のwpilib javaプロジェクトでAspectJを動作させることができないためです – Nameless