Poco

class EventLogChannel

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

Description

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.

Inheritance

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

Types Aliases

Ptr

using Ptr = AutoPtr < EventLogChannel >;

Constructors

EventLogChannel

EventLogChannel();

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

EventLogChannel

EventLogChannel(
    const std::string & name
);

Creates the EventLogChannel with the given event source name.

EventLogChannel

EventLogChannel(
    const std::string & name,
    const std::string & host
);

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

Destructor

~EventLogChannel protected virtual

~EventLogChannel();

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::wstring findLibrary(
    const wchar_t * name
);

getCategory protected static

static int getCategory(
    const Message & msg
);

getType protected static

static int getType(
    const Message & msg
);

setUpRegistry protected

void setUpRegistry() const;

Variables

PROP_HOST static

static const std::string PROP_HOST;

PROP_LOGFILE static

static const std::string PROP_LOGFILE;

PROP_LOGHOST static

static const std::string PROP_LOGHOST;

PROP_NAME static

static const std::string PROP_NAME;