1 mday 1.1.2.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <title>PEP # ?: Pegasus 2.2 Logging Improvements</title>
5 <link rel="stylesheet" type="text/css" href="http://www.soft-hackle.net/md.css">
6 </head>
7
8 <body>
9 <table >
10 <tr>
11
12 <td>
13 <img height="70" src="http://www.opengroup.org/images/pegicon2.gif" width="70" border="0">
14 </td>
15 <td>
16 <h1>PEP # ?: Pegasus 2.2 Logging Improvements</h1>
17 </td>
18 </tr>
19 </table>
20
21 <table class="comment">
22 mday 1.1.2.1 <tr align="left">
23 <th>Type</th><th>Status</th><th>Approveers</th>
24 </tr>
25 <tr>
26 <td>Architecture</td><td>Draft</td><td>Pegasus architecture team</td>
27 </tr>
28 </table>
29 <table class="comment">
30 <tr align="left">
31 <th>Version</th><th>Date</th><th>Author</th><th>Comments</th>
32 </tr>
33 <tr>
34 <td>1.0</td><td>Fri Feb 21 09:39:19 2003</td><td>IBM/Mike Day
35 </td><td><i>proposed outline, to be completed in further revisions</i></td>
36 </tr>
37 </table>
38 <hr>
39
40 <h2>Summary</h2>
41 <p>
42 This proposal is to upgrade the Pegasus logging component and
43 mday 1.1.2.1 logging points to the standard expected for commercial daemon
44 services and to to allow Pegasus logging messages to be
45 written to native platform logging systems such as the
46 <code>syslog daemon</code> on Unix.
47 </p>
48
49
50 <h2>Problem Solved/Feature Added</h2>
51
52 <p>
53 The logging component in Pegasus 2.1 is minimally implemented
54 and rarely used. There are too few logging points in the
55 source code and logging is not configurable by component
56 (e.g., security, read/write events, connection events, etc.).
57 </p>
58
59 <h3>Integration with platform's native logging service</h3>
60 <p>
61 Basic support for logging to text files should be retained in
62 Pegasus 2.2. However, the <code>Logger</code> class needs to
63 be modified to defer to system logging services including at
64 mday 1.1.2.1 least the Unix <code>syslog daemon</code> and the Windows
65 event log.
66 </p>
67
68 <h3>Definition of Pegasus Logging Components</h3>
69
70 <p>
71 Pegasus logging components need to be defined and supported in
72 the <code>Logger</code> class. Logging needs to be
73 configurable on a per-component basis.
74 </p>
75 <p>
76 A tentative list of Pegasus logging components includes the
77 following:
78 <dl class="enumerated">
79 <dt>Security</dt>
80 <dd>Authentication and authorization events</dd>
81 <dt>Connection</dt>
82 <dd>Connection and termination of clients</dd>
83 <dt>Repository</dt>
84 <dd>Repository write events</dd>
85 mday 1.1.2.1 <dt>Provider</dt>
86 <dd>Provider load/unload and operation execution events</dd>
87 <dt>Exceptions</dt>
88 <dd>Errors and Exceptions</dd>
89 <dt>Lifetime</dt>
90 <dd>Start, stop, install, remove.</dd>
91 </dl>
92 </p>
93
94 <h3>Definition of Pegasus Log Entry Classifications</h3>
95
96 <p>
97 Each log entry should be classified consistently with the Unix
98 <code>syslog</code> classes which are defined below in
99 priority order:
100
101 </p>
102 <p>
103 <dl class="enumerated">
104 <dt>Degug</dt>
105 <dd>Information that enables problem solving in the field</dd>
106 mday 1.1.2.1 <dt>Info</dt>
107 <dd>General low-priority nominal events</dd>
108 <dt>Notice</dt>
109 <dd>Events that signal a change in state or execution path</dd>
110 <dt>Warning</dt>
111 <dd>Events that may be a problem or may indication a future problem</dd>
112 <dt>Err</dt>
113 <dd>Error, nominal</dd>
114 <dt>Crit</dt>
115 <dd>Error, serious.</dd>
116 <dt>Alert</dt>
117 <dd>Event (not necesarily an error) that requires notification to other components,
118 services, or programs.</dd>
119 <dt>Emerg</dt>
120 <dd>Fatal error or event that requires immediate response</dd>
121 </dl>
122 </p>
123
124 <h3>Solution Requirements</h3>
125 <div class="comment">
126 <ol class="enumerated">
127 mday 1.1.2.1 <li>Easy for the customer to configure in the
128 field. This includes activating/deactivating logging
129 classifications and managing log files.</li>
130 <li>Provider relevant and sufficient information. There must
131 be sufficient logging points throughout the Pegasus source
132 code to enable all relevent events to be logged, and to
133 provide sufficient information about each event to solve
134 problems, handle events, and generally manage the lifetime
135 and utility of Pegasus. </li>
136 <li>NLS enabling. Log messages must be separated from the
137 source code to allow for translation and
138 internationalization. </li>
139 </ol>
140 </div>
141
142 <h3>Notes</h3>
143 <p>
144 The current logging support for Pegasus is in the source
145 files:
146
147 <code>$PEGASUS_ROOT/src/Pegasus/Common/Logger.h</code> <br>
148 mday 1.1.2.1 and <code>$PEGASUS_ROOT/src/Pegasus/Common/Logger.cpp</code>
149 </p>
150 <p>
151 Chip Vincent has some Pegasus logging code that is integrated
152 into IBM Director that may be useful.
153 </p>
154
155 <h3>Proposed Solution</h3>
156
157 <h2> Proposed schedule.</h2>
158
159 <h2>Risk Mitigation</h2>
160
161 <hr>
162 <address><a href="mailto:mdday@us.ibm.com">Michael Day</a></address>
163 <!-- Created: Fri Feb 21 08:22:38 EST 2003 -->
164 <!-- hhmts start -->
165 Last modified: Fri Feb 21 13:16:47 EST 2003
166 <!-- hhmts end -->
167 </body>
168 </html>
|