Rsyslog регулярное выражение, включить все после первого "_" - PullRequest
0 голосов
/ 02 мая 2019

Мне нужно имя файла регулярного выражения службы docker: docker_service_name

и переименовать его так, чтобы оно содержало все, после первого "_", чтобы оно стало: service_name

Теперь это работает с rsyslog ERE:

    %programname:R,ERE,1,FIELD:_\K[\s\S]*$--end%

Я пытался:

    [^docker_]([\s\S]*$)

, но это также не работает.Есть ли способ исключить «docker_» из моего имени службы?

Пример шаблона rsyslog:

$template DOCKER_LOGS,"/var/log/docker/%programname:R,ERE,1,FIELD:[^docker_]([\s\S]*$)--end%/%programname:R,ERE,1,FIELD:[^docker_]([\s\S]*$)--end%.log"

if $syslogtag contains 'docker' then ?DOCKER_LOGS
& stop
...