双 space 的 Grok 调试问题
Grok debugging issue with double space
我有以下使用 log4net 生成的日志
2017-12-11 17:01:28,390 [6] INFO DAL.DBManager "FunctionName":"Dispose"
问题出在 INFO 之后的 2 space 秒。如果这个词是debug,它似乎只有1个space,所以它可能是"tab".
我正在使用 http://grokdebug.herokuapp.com/,但我下面的模式似乎不起作用。
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} %{DATA:CLASS} %{DATA:Function} %{DATA:FunctionName} %{GREEDYDATA:remainder}
我试过添加 %{SPACE} 而不是 space 但它没有生成任何东西。
如果您想要恰好匹配两个空格,您还必须在您的模式中添加两个空格。以下模式似乎与您写的行匹配:
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} %{DATA:CLASS}\.%{DATA:Function} %{DATA:FunctionName}\:%{GREEDYDATA:remainder}
如果您想匹配一个或两个空格,您可以使用一个空格和一个可选的空格 ( )?
,如下所示:
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} ( )?%{DATA:CLASS}\.%{DATA:Function} %{DATA:FunctionName}\:%{GREEDYDATA:remainder}
我有以下使用 log4net 生成的日志
2017-12-11 17:01:28,390 [6] INFO DAL.DBManager "FunctionName":"Dispose"
问题出在 INFO 之后的 2 space 秒。如果这个词是debug,它似乎只有1个space,所以它可能是"tab".
我正在使用 http://grokdebug.herokuapp.com/,但我下面的模式似乎不起作用。
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} %{DATA:CLASS} %{DATA:Function} %{DATA:FunctionName} %{GREEDYDATA:remainder}
我试过添加 %{SPACE} 而不是 space 但它没有生成任何东西。
如果您想要恰好匹配两个空格,您还必须在您的模式中添加两个空格。以下模式似乎与您写的行匹配:
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} %{DATA:CLASS}\.%{DATA:Function} %{DATA:FunctionName}\:%{GREEDYDATA:remainder}
如果您想匹配一个或两个空格,您可以使用一个空格和一个可选的空格 ( )?
,如下所示:
%{TIMESTAMP_ISO8601} \[%{NUMBER:thread}\] %{LOGLEVEL:log-level} ( )?%{DATA:CLASS}\.%{DATA:Function} %{DATA:FunctionName}\:%{GREEDYDATA:remainder}