2017-10-12 13 views
0

にバックスラッシュをエスケープしない、私はどのように私は完全に理解するカスタムパターン

app\exceptions\SomeException 

として入力を持ち、パターンが完全に理解デバッガで

{"EXCEPTION_CLASS" : "app\\\\exceptions\\\\SomeException"} 

として

%{EXCEPTION_CLASS:exception} 

とカスタムパターンである(中Kibana)の場合、出力は

{ 
    "exception": "app\\exceptions\\SomeException" 
} 

これは私が期待していたものではありません。 最初に、ダブルバックスラッシュを使用すると入力が一致しません。

{"EXCEPTION_CLASS" : "app\\exceptions\\SomeException"} 
#This gives no output 

第二に、私は4つのバックスラッシュで出力を得たが、私は期待するだけの入力のような単一のバックスラッシュたことで二重のバックスラッシュがありました。

これはどのように機能し、Grokパターンでバックスラッシュを正しくエスケープするにはどうすればよいですか?

+0

logstash grokパターンでバックスラッシュをエスケープするにはどうすればいいですか?(https://stackoverflow.com/questions/30304397/how-can-i-escape-backslash-in-logstash-grok-pattern) – Phonolog

答えて

0

あなたの例を試しました。 GROKに続いて、\が私のために正常に動作エスケープのために、この入力「\アプリ\・実行\ somethingother」

grok{ 
    match => { "message" => "\\%{WORD:app}\\%{WORD:exception}\\%{WORD:other}" } 
} 

だから、\と私のために動作します。

+0

それはlogstashのpiplineの私のために働く。私は木場のGrokデバッガの動作を理解していません。 – geliba187

関連する問題