This topic describes the key concepts of Log Engine.
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.
Log engine wrapper
The log engine wrapper provides
simple interfaces to record events, and is present on all UI variants.
The wrapper interfaces are CLogWrapper
and CLogBase
.
Log client
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
.
Event
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
.
View
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
).
Filter
A filter specifies the type of events that
appear in a view. The filter interface is CLogFilter
.