i-scream documentation viewer
logging.txt
I-Scream Logging System - initial draft
=======================
tdb1, 29/11/2000
This document aims to cover the Logging System in the
i-Scream Central Monitoring System. Two areas will be
covered, looking at the system from two angles.
- Monitoring the System (user)
- Utilising the Logging System (developer)
Monitoring the System
=====================
The Central Monitoring Systems provides a configurable
logging system. A variety of loggers can easily be chosen
betweeen by simply changing some settings in the system
configuration. The system also provides an extendable
interface so further logging mechanisms can easily be added.
This will be covered further later on.
How it works
------------
The system has one central point of logging for the server
components (not the host or the clients). This functionality
is provided over a CORBA system, but this is transparent to
the end user. As each component is started up a request is
made to the central naming service for the logging system,
and then log messages can be sent straight to it.
Types of Logging Implementations
--------------------------------
The messages are passed over CORBA into the logging
component. Here they are formatted with the date and time
before being output to the final "destination". The system,
as standard, provides a range of loggers, each with a
different method of logging. At present this list stands at;
- Screen Logger (ScreenLogger.class)
A basic logger that outputs all messages to the console
on which the CORE was started up. This is the simplest
way of seeing what's happening.
- File Logger (FileLogger.class)
Similar to the screen logger, except all output is
written to a named file. This is better for ongoing
logging.
- Multi Logger (MultiLogger.class)
This logger, at present implements both of the above
loggers. It is intended to allow more versatility from
the system. It is planned to allow this logger to
support as many, or as few, or these loggers as is
required.
- Simple GUI Logger (SimpleGUILogger.class)
A basic GUI logger that just dumps the output to a
window on the console machine. Lacks many nice features,
such as the window scrolling.
- Swing GUI Logger (SwingGUILogger.class)
A more advanced version of the above logger, more
polished and much nicer to use. Can be made full screen
for use on a permanent logging station.
Choosing a Logger
-----------------
Choosing which logger you which to use is simple. In the
CORE directory there should be a default.properties file.
This file governs the initial bootstrapping of the server.
The following two entries are required by the logging
system.
uk.ac.ukc.iscream.LoggerClass=ScreenLogger
uk.ac.ukc.iscream.LoggerClassParam=
The "LoggerClass" entry specifies the name of the logger to
use. For example, in the above case the ScreenLogger has
been selected. Note that the .class extension is *not*
added. This is all that is required to tell the system to
utilise the ScreenLogger.
The second entry, "LoggerClassParam" is only required by the
File Logger (and therfore the Multi Logger) to specify which
file to write to. All the other loggers do not require this
to be set. However, future loggers may use this, and
additional parameters, to configure themselves.
Setting a Verbosity Level
-------------------------
The Logging system also provides a range of verbosity
levels, so the output can be further tailored to suit the
needs of the end user. The lower numbered levels give only
the most important messages, whilst high numbers give a lot
of information only really useful for debugging. These are
specified as follows;
FATAL - (0) Fatal or Critical Errors
ERROR - (1) All Errors
WARNING - (2) Warnings
SYSMSG - (3) System Component messages
SYSINIT - (4) System Component initialisation
DEBUG - (5) All debugging messages
The required verbosity setting can be chosen in the
default.properties configuration file - the same one in
which the logger was specified above.
The following setting should be setting to one of the
numbers above. In this case it has been set to maximum
verbosity, the DEBUG level.
uk.ac.ukc.iscream.Verbosity= 5
What do the loggers not do ?
----------------------------
The loggers only monitor the state of the server. They do
not monitor activity on either the host or clients, although
they may well receive information from components intefacing
with them.
They also do not log anything to do with the actual
monitoring of hosts, but rather they monitoring the
"monitoring system". The information provided by the loggers
is purely for analysing the activity of the Central
Monitoring System, and for identifying failures within the
system.
Utilising the Logging System
============================
To be added;
- developing loggers
- utilising a logger in the server
About
=====
This document was written by Tim Bishop [tdb@i-scream.org] for
use by the team working on a 3rd year Computer Science
project called "i-scream". More details can be found on the
project website;
http://www.i-scream.org