Настройка формата записи в rsyslog
Есть Debian 8 (Jessie), на котором надо настроить запись сообщений от конкретной программы в отдельный файл. Предположим, есть программа, записывающая в rsyslog:
#include <syslog.h>
int main()
{
openlog("mylog", LOG_CONS, LOG_USER);
syslog(LOG_INFO, "%s", "Hallo, rsyslog");
closelog();
return 0;
}
В /etc/rsyslog.conf: добавил
if $programname startswith "mylog" then /home/user/log/test.log
& stop
Перезапускаю rsyslog, в файле /home/user/log/test.log:
Dec 12 14:15:16 mylog: Hallo, rsyslog
Очень бы хотелось бы, чтобы в лог попадало бы только "Hallo, rsyslog", но не получается. Я добавлял в `rsyslog.conf'
template(name="outfmt" type=list option.jsonf="on") {
property(name="msg" format="jsonf")
}
action(type="omfile" file="/home/user/log/test.log" template="outfmt")
и получил:
"msg":"Hallo, rsyslog"Dec 12 14:15:16 mylog: Hallo, rsyslog
Можно ли добиться желаемого вывода и как?