Rsyslog Обрезка приложений-Имена более 48 символов

#templates #rsyslog

Вопрос:

Я пытаюсь обрезать дополнительные символы более 48 с помощью следующего добавления, но это не работает. Что может быть не так?

 rsyslog.conf (without change)

$ActionQueueType LinkedList
$ActionQueueFileName srvrfwd
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
$ModLoad imudp #loads the udp module
$UDPServerAddress XX.XX.YY.ZZ
$UDPServerRun 514
*.* @127.0.0.1:6514;RSYSLOG_SyslogProtocol23Format
 
 rsyslog.conf (with addition)

$ActionQueueType LinkedList
$ActionQueueFileName srvrfwd
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
$ModLoad imudp #loads the udp module
$UDPServerAddress XX.XX.YY.ZZ
$UDPServerRun 514

set $.APPNAME47 = substring($app-name, 0, 47);

template(name="trimmer" type="string"
     string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %$.APPNAME47% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%n")

*.* @127.0.0.1:6514;trimmer
 

Ответ №1:

это сработало отлично.

 template(name="trimmer" type="string" string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME:1:46% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%n")

*.* @127.0.0.1:6514;trimmer