you can use Syslog server runs on linux and has ports for win32 and OS X , you can find all relevant information here

http://www.syslog.org/

since Syslog operates over a network , you can even do remote logging.

best part very easy to use and has binding for many languages , you can even write your own binding by going through relevant header files.