The logDaemon may be started anywhere on a subnet. It is a single-threaded, UDP based server. Various environment variables and/or command-line options specify what port to use, where the log file directory is, etc.... Most importantly, a configuration file is read which specifies how incoming log messages are to be distributed among one or more files based on the various tag values, and whether e-mail should be sent.
The client library will broadcast for the logDaemon using a specific id. The logDaemon with that id will respond, notifying the client library of its IP address and port. All subsequent log messages are transmitted via a single UDP packet, and are acknowledged with a single UDP packet.
The logDaemon can be configured to write a simple ascii file format, one log message per line, or to write an SDDS format log file.
A max-log-file-size may be given. In this case, the log file will be copied to a save directory whenever the size is exceeded. The save directory utilizes file generations, so the log files will reside in the save directory as log.0, log.1, log.2, etc. A simple browsing tool can reconstruct the full history of messages, including those in the currently active log file.