узор не совпадает беглый эластичный поиск

Я придерживаюсь формата записи журналов в fluentd для журналов исключений magento.

единственное исключение exception.log

[2016-04-30 11:37:42] main.CRITICAL: exception 'Exception' with message 'Report ID: webapi-571f53065307a; Message: Notice: Array to string conversion in /var/www/html/magento2/vendor/monolog/monolog/src/Monolog/Logger.php on line 277' in /var/www/html/magento2/vendor/magento/framework/Webapi/ErrorProcessor.php:194
Stack trace:
#0 /var/www/html/magento2/vendor/magento/framework/Webapi/ErrorProcessor.php(139): Magento\Framework\Webapi\ErrorProcessor->_critical(Object(Exception))
#1 /var/www/html/magento2/vendor/magento/module-webapi/Controller/Rest.php(163): Magento\Framework\Webapi\ErrorProcessor->maskException(Object(Exception))
#2 /var/www/html/magento2/var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(24): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#3 /var/www/html/magento2/vendor/magento/framework/App/Http.php(115): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#4 /var/www/html/magento2/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#5 /var/www/html/magento2/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#6 {main} [] []

примечание: всего 9 строк (но общее количество строк зависит от исключения)

мой шаблон регулярного выражения формата журнала исключений

/^\[(?<Time>[^ ]* [^ ]*)\] (?<Level>[^ ]*): (?<Exception>.*\n.*):(?<StackTrace>.*\n)$/

но он не работает, какой правильный шаблон тоже собирает журнал исключений.

примечание: у меня есть чек с http://fluentular.herokuapp.com/, но это не вызвало ошибок.

Я ожидаю, что результат должен выглядеть так, как показано ниже

Time:[2016-04-30 11:37:42]

Level:main.CRITICAL

Exception:exception 'Exception' with message 'Report ID: webapi-571f53065307a; Message: Notice: Array to string conversion in /var/www/html/magento2/vendor/monolog/monolog/src/Monolog/Logger.php on line 277' in /var/www/html/magento2/vendor/magento/framework/Webapi/ErrorProcessor.php:194

StackTrace:#0 /var/www/html/magento2/vendor/magento/framework/Webapi/ErrorProcessor.php(139): Magento\Framework\Webapi\ErrorProcessor->_critical(Object(Exception))
#1 /var/www/html/magento2/vendor/magento/module-webapi/Controller/Rest.php(163): Magento\Framework\Webapi\ErrorProcessor->maskException(Object(Exception))
#2 /var/www/html/magento2/var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(24): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#3 /var/www/html/magento2/vendor/magento/framework/App/Http.php(115): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#4 /var/www/html/magento2/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#5 /var/www/html/magento2/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#6 {main} [] []

Спасибо


person Bilal Usean    schedule 30.04.2016    source источник
comment
Что вы хотите на выходе?   -  person rock321987    schedule 30.04.2016
comment
я не знаю, что такое fluentd, но check   -  person rock321987    schedule 30.04.2016
comment
Если проблема не исчезла, укажите в вопросе свою свободную конфигурацию.   -  person repeatedly    schedule 01.05.2016


Ответы (1)


Вы используете класс персонажа[] и ненужный $. Я немного изменил ваше регулярное выражение, и оно работает

(?<Time>[^ ]* [^ ]*)\ (?<Level>[^ ]*): (?<Exception>[^\n]+)\n*(?<StackTrace>Stack trace:)

Regex Demo

Это регулярное выражение также может вам помочь

(\[[^]]+\])\s+([^:]+):\s+([^\n]+)\n*(Stack trace:)\n

Regex Demo

person rock321987    schedule 30.04.2016
comment
@BilalUsean Просто обратите внимание, что измененное мной регулярное выражение довольно неэффективно в случае сбоя - person rock321987; 30.04.2016