sys_log stands for system logger. This application is a connection oriented iterative server (using TCP sockets or QNX message passing IPC method) that logs messages from any number of client applications/machines. The server is based upon the server IPC API. This server application was built to allow application programs to send messages to a common log file on a single machine. Note that any mention of QNX in this document refers to the QNX 4.x OS.
Unix operating systems already have many system logger servers. These system logger servers, however, has the following limitations:
The system log server uses the socloc interface to manage TCP configuration information (TCP IPC method only). At least one running socloc server is required before starting the system log server. Note that the QNX version does not use or require socloc.
Before running the system log server, a socloc startup file must be composed and present the in same directory as the system log server binary/executable.
The system log server is a normal process and not a daemon/service.
The system log server will write to a primary and alternate log file. The system log server will write to the primary log file when it is not locked or held open. The alternate log file will be written to when the primary log file has been held open or locked by another process.
The system log server can be compiled for all stated platforms except DOS where there is no TCP IPC method. Under the Linux/Unix/QNX operating systems, the sys_log application can be compiled using the mksys_log script.
The system log server has the following command line syntax:
TCP: sys_log [-q] [-l log_file] [-a alt_log_file] port QNX: sys_log [-q] [-l log_file] [-a alt_log_file]
Where port is the TCP port that the system log server should listen to. The optional parameter q is used to have the server run quietly without any console/screen output. The optional parameter l (el) is used to specify the primary output log file name and the a parameter is used to specify the alternate output log file name. If either log file names are not specified, the default log file name given in the sys_log code will be assumed. Note that the switch character (a dash/hyphen [-] is shown here) depends on the platform the application is running on.