![正確的 rsyslog 配置](https://rvso.com/image/782595/%E6%AD%A3%E7%A2%BA%E7%9A%84%20rsyslog%20%E9%85%8D%E7%BD%AE.png)
我有 Debian 8 (Jessie),需要將訊息寫入日誌。假設,我有一個發送到系統日誌的程式:
#include <syslog.h>
int main()
{
openlog("progname", LOG_CONS, LOG_USER);
const char* msg = "{\"dt\":\"1670932865\",\"msg\":\"OK\"}";
syslog(LOG_INFO, "%s", msg);
closelog();
}
部分/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
}
在日誌檔中我看到:
{"dt":"1670932865","msg":"OK"} {"dt":"1670932865","msg":"OK"}
所有訊息都是一大行的一部分。我必須在配置/程式中更改什麼才能擁有多行而不是一行?