[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