Я пытаюсь настроить шаблон в отладчике Grok по адресу http://grokdebug.herokuapp.com/
Вход:
[Sat Aug 01 21:54:54.048805 2015] [:error] [pid 4384:tid 140066215139072] [client 192.168.1.1:62028] PHP Notice: Undefined index: foo in /home/koan/websightdesigns/websightdesigns.com/ierr.php on line 3
Шаблон:
\[(?<timestamp>%{DAY:day} %{MONTH:month} %{MONTHDAY} %{TIME} %{YEAR})\]\s\[:%{LOGLEVEL:loglevel}\]
То, что у меня пока работает, выводит:
{
"timestamp": [
[
"Sat Aug 01 21:54:54.048805 2015"
]
],
"day": [
[
"Sat"
]
],
"month": [
[
"Aug"
]
],
"MONTHDAY": [
[
"01"
]
],
"TIME": [
[
"21:54:54.048805"
]
],
"HOUR": [
[
"21"
]
],
"MINUTE": [
[
"54"
]
],
"SECOND": [
[
"54.048805"
]
],
"YEAR": [
[
"2015"
]
],
"loglevel": [
[
"error"
]
]
}
Все идет нормально. Однако проблема, с которой я сталкиваюсь, заключается в том, что если я попытаюсь добавить к своему шаблону, чтобы получить следующий раздел, раздел [pid 4384:tid 140066215139072]
, я получаю ошибку компиляции, как бы я ни пытался.
Я пробовал:
\[(?<timestamp>%{DAY:day} %{MONTH:month} %{MONTHDAY} %{TIME} %{YEAR})\]\s\[:%{LOGLEVEL:loglevel}\]\s\[%{PID:pid}\]
И:
\[(?<timestamp>%{DAY:day} %{MONTH:month} %{MONTHDAY} %{TIME} %{YEAR})\]\s\[:%{LOGLEVEL:loglevel}\]\s\[%{PID:pid}:%{TID:tid}\]
Как и другие шаблоны, но вроде ничего не работает. Кто-нибудь знает, что я делаю неправильно, пытаясь преобразовать [pid 4384:tid 140066215139072]
в переменные?