Concordia supports an error logging and debug logging facility which
can be used to retrieve information about the system and the agents executing in the
system. The operation of these facilities are controlled via server properties.
The runtime properties of a Concordia Server are stored in a file named ServerManager.properties
in the Agents\lib
subdirectory of the Concordia
installation directory. This is a standard Java properties file generated via the java.util.Properties
class. The server's properties can be configured either by modifying this file by
hand or (except with the Freeware version of Concordia) via the Concordia Administrator
(more info here).
Concordia error logging records error conditions within the server. The property Error.severity is used to specify the minimum severity of errors that should be logged and can be set to one of the following values: success, info, warning, error, fatal, internal. Setting the Error.severity property to a value of warning specifies that the server should log any warnings or more serious errors. Another property, named Error.stream specifies where errors should be logged. This property can be set to either the name of a disk file, or to the string "System.out" or "System.err" (which indicate that errors should be logged to the standard output or error streams of the Java VM, respectively). In a production environment where the Concordia Server is running as a daemon process, error logging will most likely be configured to log to a disk file.
Concordia also provides debug logging, which in most cases is used by the
Concordia engineering team to diagnose problems. Debug logging is also controlled via
properties in the ServerManager.properties
file.
The property Debug is used to define the debug logging level. When specifying a
debug logging level, the user must specify a facility name and a facility
logging level. The facility name is a string which identifies the component
of the Concordia server for which debugging should be enabled. Some common facility names
within Concordia are conduit (which relates to the Agent Manager),
EventManager (which relates to the Event Manager), persist(which
relates to the Persistent Store Manager and persistence operations, which are not
available with the Freeware version of Concordia), and ServerManager (which
relates to general Concordia Server maintenance operations). The facility
logging level is a number which indicates the level of detail desired in the log. For
example a value of 1 specifies a very high level overview of what was
occurring in the server; whereas a level of 10 indicates that the server
should log low-level operations in great detail. A level of 0 can
generally be used to disable logging. A special facility name of ALL
(all capitals) can be used to turn logging on for all facilities. Setting up logging could
be done by adding lines like the following to the ServerManager.properties
file;
Debug=ServerManager=1 conduit=1 persist=1 RemoteDebugServer=0 EventManager=1 Security=2 Debug.stream=/concordia/server.debug Error.severity=warning Error.stream=/concordia/server.err
For debugging purposes, on win32 systems the Concordia Server can be started
as an interactive process via the Concordia
Server Control Panel. (With the Freeware version of Concordia, the Concordia
Server can not be run as an NT Service, and always runs interactively.) This can be
helpful when used in conjunction with specifying that the server use standard output and
standard error for logging, allowing the developer to see error and debug messages in real
time as agents travel through the server. On UNIX systems, the shell script named server
installed in the Agents\bin\unix
subdirectory of the Concordia
installation directory accomplishes the same results.