Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

BoilerPlate CosLightweightLogging Service Documentation

1.1

Introduction

This documentation introduces you to using the BoilerPlate implementation of the CORBA Lightweight Logging Service. This implementation is compliant with version 1.0 of the Lightweight Log Service Specification published November 2003 (formal/03-11-03).

Right now, the BP-LWL writes all Log messages to a single file. An index is maintained that tracks the span of Record Ids matched to the timestamp that the associated Log was opened. Each log entry is refered to as a Record. Each Record has a unique Id called the Record Id. The Record Id is an unsigned long. In addition to the Record Id each Record contains:

Building LWLogging

The LWLogging build is a simple one generated using GNU Autotools. There is one switch that must be passed to configure. This is the --with-xxxx=setup.sh switch where xxxx is replaced by your ORB Vendor name (tao, orbacus, or mico). The value of this switch is a POSIX script that can be sourced and contains the values required to discern characteristics about the installation and its version.

The BP-LWL build will produce one executable (the LWL service), the client library, and the IDL library. Client's will need to link with the client library and the IDL library. Clients will also need the IDL generated header files in the idl subdirectory and the client header files in the client/include subdirectory.

The client framework for LWL consist of only a few files. BPLog.h contains the LWL contract. It also has a static accessor that is used to get a reference to the implementation of the Log. We use the Abstract Factory pattern to hide the implementation details. The pattern gives us the ability to have multiple implementations of a Log that a client can switch. One implementation is a stub that can either write a local file or write to the C++ standard clog ostream. The other implementation will use the CORBA NameService to connect you to the CORBA LWL Service. You should use #ifdefs to switch between the two.

Service Configuration

The BP-LWL Service needs some information on startup. You need to tell it:

Command Line

See Command Line Options

Need More Information?

Look at the Client API Documentation for more information. There is an example in the test subdirectory that will help you get started quickly.