Introduction

This package substitues the obsolete logService. A new requirement whereby database technologies other than ORACLE had to be dropped came in around spiring 2007. This new requirement meant the re-writing of the logService package, which was higly dependent on MySQL. This opportunity was taken to refactorize the code, especially the log manager, which was never very user friendly. The database access in C++ is done using the CORAL interface, which hides the underlying technology. For the log manager, JAVA was the language chosen, since it brings in the flexibility requiered to make this tool more intuitive. The resulting java application can be run from the console, or remotely using the Java Web Start technology.

Known issues/bugs

In the Log Manager, when righ-clicking on the Messages Table (right hand side panel) or Partition Table (left hand side panel) a Refresh button pops up. This is used to update the current view of partitions and messages, respectively. Refreshing these objects only works if one right-clicks the mouse without moving it; that is, press and release without changing the X and Y pointer of the mouse. This may be a problem with Java. In the meantime, one can also perform a Refresh via the options in the top menu File: 'Refresh tree' and 'Refresh table'.

To be implemented

Add an option to display statistics, internal and from IS.

Changes from previous release

The layout of the Log Manager has slightly changed. There are two distinctive search criterias now. One related to the Log Message table (the same as in the previous release) and a new search associated to the Partition Tree (left panel). This new search allows users to find a node, be it a Partition or Partition and User, among the hundreds that form the left hand side Tree panel. The Log Manager expands this node and makes it visible, thus facilitaing the navigation through this tree. One can also enter a run number - the Partition and User are not needed but they can also be specified - which will expand the Parition.User node and display the corresponding Log Messages in the table.

Migrate to the deSEALed version of CORAL.

Example applications

None exist at the moment.

Applications

Log Manager

Usage: log_manager 
Instruction on how to use to be written.
The Log Manager can also be run using Java Web Start technology from the link:

If possible, it is preferrable to launch this tool as a Java application rather than from the link above.

lsReceiver

Description: This application subscribes to the MRS service to receive and log on a database messages produced by TDAQ applications.
Usage: lsReceiver [-p partition-name] [-u user-name] [-n IS-server-name] [-s threshold-size] -c connect-string [-S subscribe-expression]
Options/Arguments:
        -p partitionName     Partition name
        -u userName          User name
        -n ISserverName      Name of the Information Service to publish the message rate into.
        -c connectionString  Database connection string. 

Test units

logTest

Description: Test binary for the Log Receiver application.
Usage: logTest -c connect-string [-p partition-name] [-l complexity-level]
Options/Arguments:
        -p partitionName      Partition name
        -l level           Level of Complexity of the test [1: open/close - 2: tests the Log Service Infrastructure].
        -c connectionString  Database connection string. 

Utilities

logSelect

Description: Application to retrieve log messages for a given partition according to the search criteria specified. By default, messages are dumped on std::cout.
Usage: logSelect -c connect-string -p partition-name [-i message-name] [-m machine-name] 
                 [-a application-name] [-l time-low] [-u time-up] [-s severity]  
                 [-x text] [-r parameters] [-d order-list] [-e max-rows] [-f offset-row]
Options/Arguments:
        -p partitionName      Partition name
        -c connectionString   Database connection string. 
        -i message-name       Message name or ID.
        -m machine-name       Machine name where the message was issued.
        -a application-name   Application name where the message was issued.
        -l time-low           Lower time threshold.
        -u time-up            Upper time threshold.
        -s severity           Message severity:
                                 1 - FATAL
                                 2 - ERROR
                                 3 - WARNING
                                 4 - DEBUG
                                 5 - INFORMATION
                                 6 - SUCCESS
        -x text               Text in the message body.
        -r parameters         Message parameters.
        -d order-list         Parameter to sort the messages by.
        -e max-rows           Maximum number of rows to retrieve from the database; 100 by default. If 0, all entries are retrieved.
        -f offset-row         Offset in the table to retrieve the messages from.

logDelete

Description: Application to remove log messages for a given partition according to the search criteria specified.
Usage: logDelete -c connect-string -p partition-name [-i message-name] [-m machine-name] 
                 [-a application-name] [-l time-low] [-u time-up] [-s severity]  
                 [-x text] [-r parameters]
Options/Arguments:
        -p partitionName      Partition name
        -c connectionString   Database connection string. 
        -i message-name       Message name or ID.
        -m machine-name       Machine name where the message was issued.
        -a application-name   Application name where the message was issued.
        -l time-low           Lower time threshold.
        -u time-up            Upper time threshold.
        -s severity           Message severity:
                                 1 - FATAL
                                 2 - ERROR
                                 3 - WARNING
                                 4 - DEBUG
                                 5 - INFORMATION
                                 6 - SUCCESS
        -x text               Text in the message body.
        -r parameters         Message parameters.

logGetPartitionNames

Description: Application to retrieve the list of partition names.
Usage: logGetPartitionNames -c connectionString 
Options/Arguments:
        -c connectionString  Database connection string. 

logCleanDatabase

Description: Application to clean the database by removing all the existing tables.
Usage: logCleanDatabase -c connectionString 
Options/Arguments:
        -c connectionString  Database connection string.