I was trying to send logs from rsyslog to syslog-ng and I wasn't getting full hostnames in the central syslog server even though it was configured to keep full hostnames.
There is a option
$PreserveFQDN to add FQDNs (in rsyslog.conf) in logs but that didn't work for some reason.
This post is just to mention that it'll only work if this option is added at the top of configuration file (before loading of any directives that write to log files). To be safe, just make it the first line of the rsyslog.conf file.
I also added this info on the wiki page in Arch to get this information to broader audience as I struggled with this for hours.