class EventLogChannel

Library: Foundation
Package: Logging
Header: Poco/EventLogChannel.h


This Windows-only channel works with the Windows NT Event Log service.

To work properly, the EventLogChannel class requires that either the PocoFoundation.dll or the PocoMsg.dll Dynamic Link Library containing the message definition resources can be found in $PATH.


Direct Base Classes: Channel

All Base Classes: Channel, Configurable, RefCountedObject

Member Summary

Member Functions: close, findLibrary, getCategory, getProperty, getType, log, open, setProperty, setUpRegistry

Inherited Functions: close, duplicate, getProperty, log, open, referenceCount, release, setProperty




Creates the EventLogChannel. The name of the current application (or more correctly, the name of its executable) is taken as event source name.


    const std::string & name

Creates the EventLogChannel with the given event source name.


    const std::string & name,
    const std::string & host

Creates an EventLogChannel with the given event source name that routes messages to the given host.


~EventLogChannel protected virtual


Member Functions

close virtual

void close();

Closes the EventLogChannel.

getProperty virtual

std::string getProperty(
    const std::string & name
) const;

Returns the value of the given property.

log virtual

void log(
    const Message & msg

Logs the given message to the Windows Event Log.

The message type and priority are mapped to appropriate values for Event Log type and category.

open virtual

void open();

Opens the EventLogChannel. If necessary, the required registry entries to register a message resource DLL are made.

setProperty virtual

void setProperty(
    const std::string & name,
    const std::string & value

Sets or changes a configuration property.

The following properties are supported:

  • name: The name of the event source.
  • loghost: The name of the host where the Event Log service is running. The default is "localhost".
  • host: same as host.
  • logfile: The name of the log file. The default is "Application".

findLibrary protected static

static std::string findLibrary(
    const char * name

getCategory protected static

static int getCategory(
    const Message & msg

getType protected static

static int getType(
    const Message & msg

setUpRegistry protected

void setUpRegistry() const;


PROP_HOST static

static const std::string PROP_HOST;


static const std::string PROP_LOGFILE;


static const std::string PROP_LOGHOST;

PROP_NAME static

static const std::string PROP_NAME;