I have setup the syslog-ng server to accept log messages from remote host through syslogd in Linux and Snare in Windows platform. After successfully implementing this, I started to configure hosts to send the log messages to the central syslog-ng server. During this, it was found that the remote servers were able to send messages successfully but the messages logged had IP address in place of hostname.
This was only for Linux machines, windows machine were logging with hostname. I searched the web for the solution but could not find any. Some of the sites suggested having the reverse DNS setup. Thus, I enabled the reverse dns in our DNS server and I was so happy that it did the trick. Now the messages were logged with hostname rather than IP address.