1 |
I-Scream Logging System - initial draft |
2 |
======================= |
3 |
|
4 |
tdb1, 29/11/2000 |
5 |
|
6 |
This document aims to cover the Logging System in the |
7 |
i-Scream Central Monitoring System. Two areas will be |
8 |
covered, looking at the system from two angles. |
9 |
|
10 |
- Monitoring the System (user) |
11 |
|
12 |
- Utilising the Logging System (developer) |
13 |
|
14 |
|
15 |
Monitoring the System |
16 |
===================== |
17 |
|
18 |
The Central Monitoring Systems provides a configurable |
19 |
logging system. A variety of loggers can easily be chosen |
20 |
betweeen by simply changing some settings in the system |
21 |
configuration. The system also provides an extendable |
22 |
interface so further logging mechanisms can easily be added. |
23 |
This will be covered further later on. |
24 |
|
25 |
How it works |
26 |
------------ |
27 |
|
28 |
The system has one central point of logging for the server |
29 |
components (not the host or the clients). This functionality |
30 |
is provided over a CORBA system, but this is transparent to |
31 |
the end user. As each component is started up a request is |
32 |
made to the central naming service for the logging system, |
33 |
and then log messages can be sent straight to it. |
34 |
|
35 |
Types of Logging Implementations |
36 |
-------------------------------- |
37 |
|
38 |
The messages are passed over CORBA into the logging |
39 |
component. Here they are formatted with the date and time |
40 |
before being output to the final "destination". The system, |
41 |
as standard, provides a range of loggers, each with a |
42 |
different method of logging. At present this list stands at; |
43 |
|
44 |
- Screen Logger (ScreenLogger.class) |
45 |
A basic logger that outputs all messages to the console |
46 |
on which the CORE was started up. This is the simplest |
47 |
way of seeing what's happening. |
48 |
|
49 |
- File Logger (FileLogger.class) |
50 |
Similar to the screen logger, except all output is |
51 |
written to a named file. This is better for ongoing |
52 |
logging. |
53 |
|
54 |
- Multi Logger (MultiLogger.class) |
55 |
This logger, at present implements both of the above |
56 |
loggers. It is intended to allow more versatility from |
57 |
the system. It is planned to allow this logger to |
58 |
support as many, or as few, or these loggers as is |
59 |
required. |
60 |
|
61 |
- Simple GUI Logger (SimpleGUILogger.class) |
62 |
A basic GUI logger that just dumps the output to a |
63 |
window on the console machine. Lacks many nice features, |
64 |
such as the window scrolling. |
65 |
|
66 |
- Swing GUI Logger (SwingGUILogger.class) |
67 |
A more advanced version of the above logger, more |
68 |
polished and much nicer to use. Can be made full screen |
69 |
for use on a permanent logging station. |
70 |
|
71 |
Choosing a Logger |
72 |
----------------- |
73 |
|
74 |
Choosing which logger you which to use is simple. In the |
75 |
CORE directory there should be a default.properties file. |
76 |
This file governs the initial bootstrapping of the server. |
77 |
The following two entries are required by the logging |
78 |
system. |
79 |
|
80 |
uk.ac.ukc.iscream.LoggerClass=ScreenLogger |
81 |
uk.ac.ukc.iscream.LoggerClassParam= |
82 |
|
83 |
The "LoggerClass" entry specifies the name of the logger to |
84 |
use. For example, in the above case the ScreenLogger has |
85 |
been selected. Note that the .class extension is *not* |
86 |
added. This is all that is required to tell the system to |
87 |
utilise the ScreenLogger. |
88 |
|
89 |
The second entry, "LoggerClassParam" is only required by the |
90 |
File Logger (and therfore the Multi Logger) to specify which |
91 |
file to write to. All the other loggers do not require this |
92 |
to be set. However, future loggers may use this, and |
93 |
additional parameters, to configure themselves. |
94 |
|
95 |
Setting a Verbosity Level |
96 |
------------------------- |
97 |
|
98 |
The Logging system also provides a range of verbosity |
99 |
levels, so the output can be further tailored to suit the |
100 |
needs of the end user. The lower numbered levels give only |
101 |
the most important messages, whilst high numbers give a lot |
102 |
of information only really useful for debugging. These are |
103 |
specified as follows; |
104 |
|
105 |
FATAL - (0) Fatal or Critical Errors |
106 |
ERROR - (1) All Errors |
107 |
WARNING - (2) Warnings |
108 |
SYSMSG - (3) System Component messages |
109 |
SYSINIT - (4) System Component initialisation |
110 |
DEBUG - (5) All debugging messages |
111 |
|
112 |
The required verbosity setting can be chosen in the |
113 |
default.properties configuration file - the same one in |
114 |
which the logger was specified above. |
115 |
|
116 |
The following setting should be setting to one of the |
117 |
numbers above. In this case it has been set to maximum |
118 |
verbosity, the DEBUG level. |
119 |
|
120 |
uk.ac.ukc.iscream.Verbosity= 5 |
121 |
|
122 |
What do the loggers not do ? |
123 |
---------------------------- |
124 |
|
125 |
The loggers only monitor the state of the server. They do |
126 |
not monitor activity on either the host or clients, although |
127 |
they may well receive information from components intefacing |
128 |
with them. |
129 |
|
130 |
They also do not log anything to do with the actual |
131 |
monitoring of hosts, but rather they monitoring the |
132 |
"monitoring system". The information provided by the loggers |
133 |
is purely for analysing the activity of the Central |
134 |
Monitoring System, and for identifying failures within the |
135 |
system. |
136 |
|
137 |
|
138 |
Utilising the Logging System |
139 |
============================ |
140 |
|
141 |
To be added; |
142 |
|
143 |
- developing loggers |
144 |
- utilising a logger in the server |
145 |
|
146 |
|
147 |
About |
148 |
===== |
149 |
|
150 |
This document was written by Tim Bishop [tdb1@ukc.ac.uk] for |
151 |
use by the team working on a 3rd year Computer Science |
152 |
project called "i-scream". More details can be found on the |
153 |
project website; |
154 |
|
155 |
http://www.i-scream.org.uk |