Under RedHat SE Linux targeted enforcing mode, init.d scripts do not have the correct context to read all files in the /etc directory. This apparently breaks various capabilities of syslogd, including ability to write log messages to files other than /var/log/messages.
To fix it, change context with:
chcon -c system_u:object_r:etc_t /etc/init.d/syslog