[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