I'd like to have my syslog traffic use TCP instead of UDP.
Does the stock syslog daemon for CentOS support this? If so, where would I set that option?
I believe tht the stock syslog daemon on Centos5 does not support this. Also note that port 514/tcp was reserved for 'shell' access, but I think that is deprecated going forward.
Check out rsyslog, which has become the default syslog daemon in Ubuntu and RedHat 6 beta (and Centos 6). It can read your existing syslog.conf without any changes, and can also be extended quiet a bit. It also supports syslog over tcp.
I found that syslog-ng is better documented and has more community examples. However, the syntax for rsyslog.conf is more similar to the syntax of syslog.conf . If you use syslog-ng, then feel free to stick with syslog-ng. If you have some existing syslog.conf's, then check out rsyslog.
On my Ubuntu system, I dropped in my old syslog.conf into /etc/rsyslog.d/50-default.conf and it worked right away. Later, I was able to add several of my own features, such as storing remote syslogs at /var/log/syslogs/$REMOTE_HOST/$FACILITY.log.
It may be worthwhile to take a look at syslog-ng which does support TCP (and is a better solution overall).