0

私は、logstash を使用して tomcat アクセス ログを json 形式に変換しています。アクセスログ名は以下の形式です

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
    } 
}

正規表現が使用されているログは表示されません。これらのファイルのみを選択するには、ここでどの正規表現を使用すればよいですか?

4

1 に答える 1

0

シンプルで速い方法

ファイルlogが常に の後logs\にある場合は、次の正規表現を使用できます。

logs\\(.*?\.log)

.*?後に続くすべてをキャプチャします(正規表現でlogs\double に注意してください)。\\また、ファイルは で終わる.logため、ドットを でエスケープすることを忘れないでください\.log

詳細な説明はRegex101にあります。


防弾で遅い方法

キー文字が欠落している場合は、否定先読みlogs\を使用して、パスの最後の部分をキャプチャする次の正規表現を使用できます。

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

詳細な説明は次のとおりです: Regex101

于 2016-03-24T10:20:58.087 に答える