i-scream documentation viewer
minutes-20001116.txt
Minutes of meeting 16/11/00 @ 2pm
Location: Eliot College E3E Room 8 and
UKC Computer Science Meeting Room
Present: ajm4, tdb1
Absent: None
Another sub-meeting where a few design decisions were made
regarding the core of the system, namely logging and
configuration.
Firstly the idea of verbosity of logging messages was
finalised, and later implemented. The following levels are
currently supported by the write method of the logger, which
can be accessed as follows.
Logger.write(String source, int verbosity, String message);
The verbosity can be one of the following values,
Logger.FATAL - (0) Fatal or Critical Errors
Logger.ERROR - (1) All Errors
Logger.WARNING - (2) Warnings
Logger.SYSMSG - (3) System Component messages
Logger.SYSINIT - (4) System Component initialisation
Logger.DEBUG - (5) All debugging messages
Although these are only integer values they should always be
reference by their name on the left. This allows for easier
reading of code, and greater expandability.
Next, still on the logging system, a need was found for a
logger which allowed both logging to the screen and logging
to a file, preferably with independant verbosity levels. It
was decided that a multi-logger should be written that
supported both features (using the existing classes).
The configuration system was also under review. There seems
to be a need for default config files, grouping of configs,
and hierarchical includes. These features will all be
implemented allowing a greater degree of control over the
system configuration, whilst retaining a simple and central
point of management.
It was decided that the structure of the configuration would
be as follows;
CONFROOT/
system.conf
hosts.conf
clients.conf
HOSTS/
host-hostname.domain.conf
CLIENTS/
client-somename.conf
system.conf is a system wide configuration file (for the
logger and so on), whilst the hosts.conf and clients.conf
are default configurations for hosts and clients
respectively. The HOSTS and CLIENTS subdirectories contain
individual configuration files, and possibly group files.
The filenames are not yet final.
The intended use of the system is that the configuration
system, when asked for a property, would first look in an
individual host (or client) configuration file. If it failed
to find it there it would then try the default file, and
finally failing that it would return null.
Includes would also fit into this structure, although it
isn't entirely clear (to me at least) how this whole
structure fits together, with overriding an so on. Circular
includes have been thought of, and will be dealt with.
Finally, it was noted that there were still problems with
the initial configuration of the system - ie. how to
configure the configuration system. Various ideas were
suggested including passing parameters on the commandline,
or an initialisation configuration file.
The configuration plans above are to be considered and
implemented by ajm4, hopefully by Monday. tdb1 will work on
the logging side of the system.
Next full meeting is arranged for Monday, and the meeting
room is booked from 10am-12pm and 2pm-5pm.