Java Webアプリケーションで特定のメソッドを実行するのにかかる時間を調べようとしています。私はlog4jを使用するいくつかのログエントリを持っています。さて、ログエントリのタイムスタンプを利用して、コードの各セクションを実行するのに要する時間を知ることはできますか?現在、JVMにプロファイラを接続する柔軟性はありません。ログエントリのタイムスタンプ
0
A
答えて
0
ログの日付を解析して、それを読み取り可能にします。
例
2014-07-02 20:52:39.345 DEBUG className:200 - This is debug message
2014-07-02 20:52:39.366 DEBUG className:201 - This is debug message2
は日付がスニペット変換ログ:
public static void main(String[] args) throws Exception {
String logdate = "2014-07-02 20:52:39.345";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
System.out.println(df.parse(logdate));
}
OUTPUT(Date::toString
!!!)あなたのlog4j構成ファイル内の特定のパターンレイアウトを提供することができます
Wed Jul 02 20:52:39 CEST 2014
+0
マルチスレッドとたくさんの「インターリーブ」されたメッセージを持っているとうまくいくかどうかは不明です。 – GhostCat
+0
@Jägermeisterはミリ秒単位でログの日付を変換するのとまったく同じです... –
0
。 log4jログテキストに含めることができるさまざまな事項については、linkを確認してください。
コードブロックの実行に要する時間を知りたい場合は、そのコードの前後にロギングステートメントを入れて、手動で時間差を見つけて同じことを知ることができます。
これは従来の方法ではないため、プロファイラを追加できない理由を解決することをお勧めします。
関連する問題
- 1. pbs_server、pbs_momサーバーとワーカーノードのログエントリ
- 2. Rails 3.1のログエントリが冗長すぎる
- 3. akka - 特定のログエントリをテストする
- 4. ユーザーログインの監査ログエントリを挿入する
- 5. 何回もログエントリによって
- 6. ログエントリが重複していますlog4j
- 7. システムログからログエントリ "disk online"を取得
- 8. 異なるTomcatのログエントリの正規表現パターン
- 9. hg log - 最後の5つのログエントリを取得するには?
- 10. 単一のsudoコマンドのログエントリを表示しない
- 11. 私は、ログファイルに次のログエントリを持つ例外
- 12. ログエントリ戻る前に圧延後、前のコミット
- 13. djangoプロジェクトのpgbouncerログエントリを説明しています
- 14. Application Insightsのログエントリはどこにありますか?
- 15. django:特定の固定期間でログエントリを集約する
- 16. ログエントリの期間を表す最も良い方法
- 17. Log4Netシングルファイルの古い日付ログエントリを削除する方法
- 18. UNIXタイムスタンプからFATタイムスタンプ
- 19. タイムスタンプ
- 20. タイムスタンプ
- 21. タイムスタンプ%%タイムスタンプの予期しない結果
- 22. タイムスタンプと日付/タイムスタンプの書式
- 23. log4jからログエントリを電子メールで送信するメカニズム
- 24. Nodejs、Winston:ログエントリが重複しています
- 25. TXTファイルから古いログエントリを削除するBATファイル
- 26. Javascriptのタイムスタンプ
- 27. コントロールファイル内のタイムスタンプ
- 28. Cognitoフォームのタイムスタンプ
- 29. phpのFirebaseタイムスタンプ
- 30. 現在のタイムスタンプ
私は本当にあなたの質問を得ることはありません。もちろん、電卓を使って、ログエントリのタイムスタンプに基づいてデルタを手動で計算することもできます。しかし、あなたがそのような活動から得た決断があなたのために十分であるかどうかをあなたに伝えることはできません。あなたは、その数字があなたのユースケースに十分適しているかどうかを決める人です。 – GhostCat
http://stackoverflow.com/questions/358225/log4j-with-timestamp-per-log-entry、いつでもどこでもSystem.CurrentMilliseconds()をログすることができます。 – peaceUser
あなたの質問:あなたがそのような情報を必要とし、プロファイラを付けることができない場合。あなたのコードが多くのタイムスタンプを書くようにする以外の方法はありません。 – GhostCat