2016-03-24 6 views
0

私は、tomcatアクセスログをjson形式に変換するためにlogstashを使用しています。アクセスログ名は以下の形式であるlogstashファイルの入力パスに正規表現を含める方法

abcd_access_log.2016-03-15.log 
efgh_access_log.2016-02-16.log 

入力フィルタは次のようになります。これは、使用正規表現とログが表示されない

input { 
    file { 
     path => "C:\tools\apache-tomcat-8.0.32\logs\*_access_log.*.log" 
     start_position => beginning 
    } 
} 

。これらのファイルだけを選択するために正規表現を使うべきですか?

+1

logstash 2.3では、WindowsのパスはLinuxのようにスラッシュを使用する必要があることがわかりました。多分これは誰かを助けるでしょう。 –

答えて

0

シンプルかつ迅速な方法

あなたlogファイルがlogs\後に常にある場合は、次の正規表現を使用することができます(中に二重\\に注意してくださいlogs\続くすべて.*?をキャプチャ

logs\\(.*?\.log) 

を正規表現)。またファイルは.logで終わるので、\.logでドットをエスケープするのを忘れないでください。

詳細はRegex101です。


防弾より遅い道

キー文字logs\が不足している場合は、あなたは否定lookaheadを使用して、パスの最後の部分をキャプチャし、次の正規表現を、使用することができます。ここで

\\((?:.(?!\\))+\.log) 

は再び詳細に説明する:Regex101

関連する問題