![Configuração adequada do rsyslog](https://rvso.com/image/782595/Configura%C3%A7%C3%A3o%20adequada%20do%20rsyslog.png)
Tenho Debian 8 (Jessie) e preciso escrever mensagens para log. Suponha que eu tenha um programa que envia para o syslog:
#include <syslog.h>
int main()
{
openlog("progname", LOG_CONS, LOG_USER);
const char* msg = "{\"dt\":\"1670932865\",\"msg\":\"OK\"}";
syslog(LOG_INFO, "%s", msg);
closelog();
}
Parte de /etc/rsyslog.conf
:
template(name="outfmt" type="list") {
property(name="msg")
}
if $programname startswith "progname" then {
action(type="omfile" file="/path/to/file.log" template="outfmt")
& stop
}
No arquivo de log, vejo:
{"dt":"1670932865","msg":"OK"} {"dt":"1670932865","msg":"OK"}
Todas as mensagens fazem parte de uma grande linha. O que devo alterar na configuração/programa para ter múltiplas linhas em vez de uma?