Log Locally and Remotely with rsyslogd
It looks like it's as simple as two lines in the config file:
*.* @loghost
*.* /var/log/messages
The rsyslog example configs have a few instances of teeing like this. The key one:
kern.* /var/adm/kernel
kern.crit @finlandia;RFC3164fmt
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
The second statement directs all kernel messages of the priority crit and
higher to the remote host finlandia.
[...]
The third rule directs these messages to the actual console, so the person
who works on the machine will get them, too.
Wouter de Bie had a good answer, but he showed the UDP method of sending logs. In order to send them over the more reliable (though not 100%) TCP use something like:
\*.* @@remote.server.ip
Put the following line in your /etc/rsyslog.d/remote.conf:
*.* @remote.server.ip
This can easily be extended for only logging specific facilities and levels to the remote server.