[devel] I: утилита logoved-report для обработки логов. 3-Правила Логовед.
Igor Vlasenko
vlasenko на imath.kiev.ua
Пт Сен 21 21:38:54 MSK 2018
Вдогонку:
3.2.4 Параметр TYPE.
В текущей реализации logoved-report между правилами Логовед
возможен конфликт за строку, когда на одной строке
срабатывает несколько правил. Надо каким-то образом
указать, какое из них самое релевантное.
Или же в сообщении об ошибке можно выделить
конкретные разновидности и общую часть,
и сделать набор правил, который пытается
выделить конкретные разновидности, но
если конкретной разновидности нет в базе,
пусть сработает хотя бы общая часть.
Для этого используется параметр TYPE.
TYPE=error -- самое релевантное.
TYPE=fallback -- менее релевантное.
TYPE=fallback2 -- еще менее релевантное.
TYPE=fallback3 -- ну, вы поняли логику.
Пример, где это используется.
db/findreq/shebang.req/emacs-var.logoved
PATTERN=Unrecognized switch: -\*-
FIX=hook set_kill_shabang-env-perl.pl
db/findreq/shebang.req/env.logoved
PATTERN=too many arguments:.*/bin/env
FIX=hook set_kill_shabang-env-perl.pl
db/findreq/shebang.req/trailing-cr.logoved
PATTERN=trailing <CR> in interpreter
FIX=hook set_kill_cr_shabang.pl
3 конкретных случая, для каждого из которых
у робота есть лечение.
Общий случай, не знаем что делать, ловим для ручной обработки.
db/findreq/shebang.req/other.logoved
TYPE=fallback
PATTERN=shebang.req: ERROR
TYPE=fallback означает, что это правило Логовед будет
считаться сработавшим только тогда, когда ни одно
другое правило с TYPE=error не сработало.
И еще более общий случай,
db/findreq/other.logoved
TYPE=fallback2
PATTERN=^find-requires: ERROR: /usr/lib/rpm/.*\.req failed
сработает уже только, если ни TYPE=error, ни TYPE=fallback
не сработал и не распознал конкретную причину.
--
I V
Подробная информация о списке рассылки Devel