Используя эту конфигурацию rsyslog:
$template MYFORMAT,"%msg%\n"
if $programname == 'mylog' then {
action(type="omfile" file="/var/log/mylog.log" template="MYFORMAT")
& stop
}
и этот скрипт PHP:
<?php
openlog('mylog', LOG_ODELAY, LOG_LOCAL0);
syslog(LOG_INFO, date('Y-m-d: ') . 'stuff has happened!');
closelog();
Мой вывод всегда заканчивается пустым пространством перед записанным сообщением (в пользовательском файле журнала).
2015-06-10: stuff has happened! (there's a space at the beginning of this line)
Изменить это
$template MYFORMAT,"%msg%\n"
за
$template MYFORMAT,"%msg:2:2048%\n"
Других решений пока нет …