(file) Return to logging.html CVS log (file) (dir) Up to [Pegasus] / pegasus

File: [Pegasus] / pegasus / Attic / logging.html (download) / (as text)
Revision: 1.1.2.1, Fri Feb 28 21:34:05 2003 UTC (21 years, 2 months ago) by mday
Branch: mday-2-0-patches
Changes since 1.1: +168 -0 lines
*** empty log message ***

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>PEP # ?: Pegasus 2.2 Logging Improvements</title>
    <link rel="stylesheet" type="text/css" href="http://www.soft-hackle.net/md.css">
  </head>

  <body>
  <table >
    <tr>

      <td>
	<img height="70" src="http://www.opengroup.org/images/pegicon2.gif" width="70" border="0">
      </td>
      <td>
	<h1>PEP # ?: Pegasus 2.2 Logging Improvements</h1>
      </td>
    </tr>
  </table>

    <table class="comment">
      <tr align="left">
	<th>Type</th><th>Status</th><th>Approveers</th>
      </tr>
      <tr>
	<td>Architecture</td><td>Draft</td><td>Pegasus architecture team</td>
      </tr>
    </table>
    <table class="comment">
      <tr align="left">
	<th>Version</th><th>Date</th><th>Author</th><th>Comments</th>
      </tr>
      <tr>
	<td>1.0</td><td>Fri Feb 21 09:39:19 2003</td><td>IBM/Mike Day
	</td><td><i>proposed outline, to be completed in further revisions</i></td>
      </tr>
    </table>
    <hr>

      <h2>Summary</h2>
      <p>
	This proposal is to upgrade the Pegasus logging component and
	logging points to the standard expected for commercial daemon
	services and to to allow Pegasus logging messages to be
	written to native platform logging systems such as the
	<code>syslog daemon</code> on Unix.
      </p>


      <h2>Problem Solved/Feature Added</h2>

      <p>
	The logging component in Pegasus 2.1 is minimally implemented
	and rarely used. There are too few logging points in the
	source code and logging is not configurable by component
	(e.g., security, read/write events, connection events, etc.).
      </p>

      <h3>Integration with platform's native logging service</h3>
      <p>
	Basic support for logging to text files should be retained in
	Pegasus 2.2. However, the <code>Logger</code> class needs to
	be modified to defer to system logging services including at
	least the Unix <code>syslog daemon</code> and the Windows
	event log.
      </p>

      <h3>Definition of Pegasus Logging Components</h3>

      <p>
	Pegasus logging components need to be defined and supported in
	the <code>Logger</code> class. Logging needs to be
	configurable on a per-component basis. 
      </p>
      <p>
	A tentative list of Pegasus logging components includes the
	following:
	<dl class="enumerated">
	  <dt>Security</dt>
	  <dd>Authentication and authorization events</dd>
	  <dt>Connection</dt>
	  <dd>Connection and termination of clients</dd>
	  <dt>Repository</dt>
	  <dd>Repository write events</dd>
	  <dt>Provider</dt>
	  <dd>Provider load/unload and operation execution events</dd>
	  <dt>Exceptions</dt>
	  <dd>Errors and Exceptions</dd>
	  <dt>Lifetime</dt>
	  <dd>Start, stop, install, remove.</dd>
	</dl>
      </p>

      <h3>Definition of Pegasus Log Entry Classifications</h3>

      <p>
	Each log entry should be classified consistently with the Unix
	<code>syslog</code> classes which are defined below in
	priority order:

      </p>
      <p>
	<dl class="enumerated">
	  <dt>Degug</dt>
	  <dd>Information that enables problem solving in the field</dd>
	  <dt>Info</dt>
	  <dd>General low-priority nominal events</dd>
	  <dt>Notice</dt>
	  <dd>Events that signal a change in state or execution path</dd>
	  <dt>Warning</dt>
	  <dd>Events that may be a problem or may indication a future problem</dd>
	  <dt>Err</dt>
	  <dd>Error, nominal</dd>
	  <dt>Crit</dt>
	  <dd>Error, serious.</dd>
	  <dt>Alert</dt>
	  <dd>Event (not necesarily an error) that requires notification to other components,
	    services, or programs.</dd>
	  <dt>Emerg</dt>
	  <dd>Fatal error or event that requires immediate response</dd>
	</dl>
      </p>

      <h3>Solution Requirements</h3>
      <div class="comment">
      <ol class="enumerated">
	<li>Easy for the customer to configure in the
	  field. This includes activating/deactivating logging
	  classifications and managing log files.</li>
	<li>Provider relevant and sufficient information. There must
	  be sufficient logging points throughout the Pegasus source
	  code to enable all relevent events to be logged, and to
	  provide sufficient information about each event to solve
	  problems, handle events, and generally manage the lifetime
	  and utility of Pegasus. </li>
	<li>NLS enabling. Log messages must be separated from the
	  source code to allow for translation and
	  internationalization. </li>
      </ol>
      </div>

      <h3>Notes</h3>
      <p>
	The current logging support for Pegasus is in the source
	files: 

	<code>$PEGASUS_ROOT/src/Pegasus/Common/Logger.h</code> <br>
	    and <code>$PEGASUS_ROOT/src/Pegasus/Common/Logger.cpp</code>
      </p>
      <p>
	Chip Vincent has some Pegasus logging code that is integrated
	into IBM Director that may be useful. 
      </p>

      <h3>Proposed Solution</h3>

      <h2> Proposed schedule.</h2>

      <h2>Risk Mitigation</h2>

    <hr>
    <address><a href="mailto:mdday@us.ibm.com">Michael Day</a></address>
<!-- Created: Fri Feb 21 08:22:38 EST 2003 -->
<!-- hhmts start -->
Last modified: Fri Feb 21 13:16:47 EST 2003
<!-- hhmts end -->
  </body>
</html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2