|
||
Used to record events of interest to the user, of which they may not be immediately aware, or of high importance as costs are incurred, such as telephone calls. These events can be retrieved by a viewer application and displayed to the user.
The Log Engine is split into a wrapper (a stub interface) that is present on all UI variants, and an actual logging DLL that may or may not be present. On UI variants on which the actual logging engine is not present, calls to the wrapper will have no effect. Programs written for multiple UI variants should use the wrapper only. Programs for a particular UI variant on which the log engine is present can use it directly.
The API has five key concepts: log engine wrapper, log client, event, view, and filter.
The log engine wrapper provides simple interfaces to record
events, and is present on all UI variants. The wrapper interfaces are
CLogWrapper
and CLogBase
.
The log client is the main direct interface on the log engine. It is used to add, delete, and change log events, and allows log administration. It is also used to create filtered views of events.
The log client interface is CLogClient
.
A log event is an entry in the log. Events have a fixed number of data fields, though some fields do not apply to all events.
The event interface is CLogEvent
.
A view allows a filtered list of events to be accessed. Views are
provided for the main event log (CLogViewEvent
) and for recent
events only (CLogViewRecent
).
A filter specifies the type of events that appear in a view. The
filter interface is CLogFilter
.