Monitoring Server Activity : Log Files and Tracing

Log Files and Tracing
You can configure the TIBCO Enterprise Message Service server to write a variety of information to the log. Several parameters and commands control where the log is located as well as what information is written to the log. The log can be written to a file, to the system console, or to both.
Configuring the Log File
The logfile configuration parameter in tibemsd.conf controls the location and the name of the log file.
You can specify that the log file should be backed up and emptied after it reaches a maximum size. This allows you to rotate the log file and ensure that the log file does not grow boundlessly. The logfile_max_size configuration parameter allows you to specify the maximum size of the current log file. Set the parameter to 0 to specify no limit. Use KB, MB, or GB units.
Once the log file reaches its maximum size, it is copied to a file with the same name as the current log file except a sequence number is appended to the name of the backup file. The server queries the directory and determines the first available sequence number. For example, if the current log file is named tibems.log, the first copy is named tibems.log.1, the second is named tibems.log.2, and so on. You can move the files out of the log directory, if desired, and the next log file is determined based on the first available numbered backup in the log file directory.
When you remove or move log files, it is recommended that you remove or move all log files in the log file directory. The server can then restart its log file sequence with 1.
You can also dynamically force the log file to be backed up and truncated using the rotatelog command in tibemsadmin. See Command Listing for more information about the rotatelog command.
For other configuration parameters that affect the log file, see Tracing and Log File Parameters.
Tracing on the Server
The TIBCO Enterprise Message Service server can be configured to produce tracing messages. These messages can describe actions performed for various areas of functionality (for example, Access Control, Administration, or Routing). These messages can also provide information about activities performed on or by the server, or the messages can provide warnings in the event of failures or illegal actions.
Trace messages can be sent to a log file, the console, or both. You configure tracing in the following ways:
By configuring the log_trace and/or console_trace parameters in the tibemsd.conf file; see Table 16.
By specifying the -trace option when starting the server
By using the set server command when the server is running.
log_trace and console_trace can be used to configure what types of messages are to go to the log file and to the console.
When you want trace messages to be sent to a log file, you must also configure the logfile configuration parameter. If you specify log_trace, and the logfile configuration parameter is not set to a valid file, the tracing options are stored, but they are not used until the server is started with a valid log file.
When configuring log or console tracing, you have a variety of options for the types of trace messages that can be generated. Table 63 describes the available tracing options.
 
Prints a message when a user attempts to perform an unauthorized action. For example, if the user attempts to publish a message to a secure topic for which the user has not been granted the publish permission.
Prints information about configuration files and their contents as the EMS server is starting up.
Prints a message when a database store is created, along with general database store information and errors.
Prints a message when the server enforces flow control or stops enforcing flow control on a destination.
Prints messages as the server performs various internal housekeeping functions, such as creating a configuration file, opening the persistent database files, and purging messages. Also prints a message when tracking by message ID is enabled or disabled.
Messages are printed when a username and password are passed to the LoginModule for authentication, and when a user and action are passed to the Permissions Modules for authorization.
Prints startup information about the JVM configuration, as well as any output from custom modules running in the JVM that uses System.out.
Prints a server trace information when reserve memory is triggered because of low server memory conditions.
Specifies that message trace messages should be printed. Message tracing is enabled/disabled on a destination or on an individual message. If message tracing is not enabled for any messages or destinations, no trace messages are printed when this option is specified for log or console tracing. See Message Tracing for more information about message tracing.
Prints a message when a message consumer subscribes or attempts to subscribe to a multicast-enabled topic, along with general multicast information and errors.
Prints a message when a failure of some sort occurs, usually because the user attempts to do something illegal. For example, a message is printed when a user attempts to publish to a wildcard destination name.
 
Specify tracing with a comma-separated list of trace options. You may specify trace options in three forms:
plain  A trace option without a prefix character replaces any existing trace options.
+  A trace option preceded by + adds the option to the current set of trace options.
-  A trace option preceded by - removes the option from the current set of trace options.
Examples
The following example sets the trace log to only show messages about access control violations.
   log_trace=ACL
The next example sets the trace log to show all default trace messages, in addition to SSL messages, but ADMIN messages are not shown.
   log_trace=DEFAULT,-ADMIN,+SSL
The next example sends a trace message to the console when a TIBCO Rendezvous advisory message arrives.
   console_trace=RVADV