2017-01-11 5 views
0

"フル"ログの形式は何ですか?例えば ​​- 私は、日付、レベルを理解するが、何であるアスタリスク:記録された行の形式

[Jan 11 09:00:46] VERBOSE[8633][C-00063bc8] pbx.c: ...... 

「[8633]」と「[Cは-00063bc8]」と、私はその情報をつかむことができると私は私のSQLデータベースに入れますデバッグのためにログ内の呼び出しを検索できますか?それは一意のID(それが欲しかった)ではなく、チャンネルの名前ではなく、それは私がチャンネルの変数をつかむことができますか?ありがとう!

答えて

2

のはsource codeに見てみましょう:あなたの例8633

snprintf(buf, size, "[%s] %s[%d]%s %s: %s", 
      msg->date, msg->level_name, msg->lwp, call_identifier_str, 
      msg->file, msg->message); 

がこのコールのLWPID(アスタリスク軽量プロセスのID)である、あなたは、例えばhtop経由でそれらを見ることができます。

C-00063bc8は、コール識別子(see details)の16進数です。このIDをdialplan内で取得できるかどうかは不明です。

ログを処理したい場合は、JSONログフォーマット(see here)を有効にして、いくつかのデータベース(mongodbまたはelasticsearch)にログを送ることができます。

NOPコマンドを使用してダイヤルプラン中に${UNIQUEID}をログにダンプすると、対応するログコールIDとUNIQUEIDがログに記録されます。

+0

これはまさに私が不思議に思っていたものです。私はそれを見つけるためにユニークIDをNoopした後、私は識別子を取得し、ファイルを再検索することができます。私は1つのステップでそれをやりたいと思っていました。簡単にするために、私は一意のIDをgrepし、呼び出しIDを取得してgrepします。私はjavaの中でそれをやりたいと思っていましたが、ギガバイトのログファイルを持つgrepは良いアイデアだったようです。 – Jeremy

関連する問題