# 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

~EventLogChannel();

## Member Functions

### close

void close();

Closes the EventLogChannel.

See also: Poco::Channel::close()

### getProperty

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

Returns the value of the given property.

See also: Poco::Channel::getProperty()

### log

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.

See also: Poco::Channel::log()

### open

void open();

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

See also: Poco::Channel::open()

### setProperty

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".

See also: Poco::Channel::setProperty()

### findLibrary

static std::wstring findLibrary(
const wchar_t * name
);

### getCategory

static int getCategory(
const Message & msg
);

### getType

static int getType(
const Message & msg
);

### setUpRegistry

void setUpRegistry() const;

## Variables

### PROP_HOST

static const std::string PROP_HOST;

### PROP_LOGFILE

static const std::string PROP_LOGFILE;

### PROP_LOGHOST

static const std::string PROP_LOGHOST;

### PROP_NAME

static const std::string PROP_NAME;