# log4cpp::NTEventLogAppender Class Reference

NTEventLogAppender is an Appender that sends LoggingEvents to the Windows event log. More...

`#include <NTEventLogAppender.hh>`

Inheritance diagram for log4cpp::NTEventLogAppender:

[legend]
Collaboration diagram for log4cpp::NTEventLogAppender:

[legend]
List of all members.

## Public Member Functions

| NTEventLogAppender (const std::string &name, const std::string &sourceName)
| Instantiate an NTEventLogAppender with given name and source.
virtual | ~NTEventLogAppender ()
virtual bool | reopen ()
| Calls open() and close().
virtual void | close ()
| Release any resources allocated within the appender such as file handles, network connections, etc.
virtual bool | requiresLayout () const
| The NTEventLogAppender does its own Layout.
virtual void | setLayout (Layout *layout)
| Set the Layout for this appender.

## Protected Member Functions

WORD | getCategory (Priority::Value priority)
| Convert log4cpp Priority to an EventLog category.
WORD | getType (Priority::Value priority)
| Convert log4cpp Priority to an EventLog type.
HKEY | regGetKey (TCHAR *subkey, DWORD *disposition)
void | regSetString (HKEY hkey, TCHAR *name, TCHAR *value)
void | regSetDword (HKEY hkey, TCHAR *name, DWORD value)
void | addRegistryInfo (const char *source)
virtual void | open ()
virtual void | _append (const LoggingEvent &event)
| Sends a LoggingEvent to NT Event log.

## Protected Attributes

HANDLE | _hEventSource
std::string | _strSourceName

## Detailed Description

NTEventLogAppender is an Appender that sends LoggingEvents to the Windows event log.

Building log4cpp.dsp/log4cppDLL.dsp creates the resource DLL NTEventLogAppender.dll. Do not forget to place this DLL in a directory that is on the PATH of the Windows system. Otherwise, the category and message will not display correctly in Event Viewer.
NB: This class is only available on Win32 platforms.

## Constructor & Destructor Documentation

log4cpp::NTEventLogAppender::NTEventLogAppender | ( | const std::string & | name,
|  | const std::string & | sourceName |
| ) |  |  |

Instantiate an NTEventLogAppender with given name and source.

Parameters:

  | name | The name of the Appender
  | sourceName | The source name to log

log4cpp::NTEventLogAppender::~NTEventLogAppender | ( |  | ) | `[virtual]`

## Member Function Documentation

bool log4cpp::NTEventLogAppender::reopen | ( |  | ) | `[virtual]`

Calls open() and close().

Reimplemented from log4cpp::AppenderSkeleton.

void log4cpp::NTEventLogAppender::close | ( |  | ) | `[virtual]`

Release any resources allocated within the appender such as file handles, network connections, etc.

Implements log4cpp::AppenderSkeleton.

bool log4cpp::NTEventLogAppender::requiresLayout | ( |  | ) | const`[virtual]`

The NTEventLogAppender does its own Layout.

Returns:
  false

Implements log4cpp::AppenderSkeleton.

void log4cpp::NTEventLogAppender::setLayout | ( | Layout * | layout | ) | `[virtual]`

Set the Layout for this appender.

Parameters:

  | layout | The layout to use.

Implements log4cpp::AppenderSkeleton.

WORD log4cpp::NTEventLogAppender::getCategory | ( | Priority::Value | priority | ) | `[protected]`

Convert log4cpp Priority to an EventLog category.

Each category is backed by a message resource so that proper category names will be displayed in the NT Event Viewer.

WORD log4cpp::NTEventLogAppender::getType | ( | Priority::Value | priority | ) | `[protected]`

Convert log4cpp Priority to an EventLog type.

The log4cpp package supports 8 defined priorites, but the NT EventLog only knows 3 event types of interest to us: ERROR, WARNING, and INFO.

HKEY log4cpp::NTEventLogAppender::regGetKey | ( | TCHAR * | subkey,
|  | DWORD * | disposition |
| ) |  |  | `[protected]`

void log4cpp::NTEventLogAppender::regSetString | ( | HKEY | hkey,
|  | TCHAR * | name,
|  | TCHAR * | value |
| ) |  |  | `[protected]`

void log4cpp::NTEventLogAppender::regSetDword | ( | HKEY | hkey,
|  | TCHAR * | name,
|  | DWORD | value |
| ) |  |  | `[protected]`

void log4cpp::NTEventLogAppender::addRegistryInfo | ( | const char * | source | ) | `[protected]`

void log4cpp::NTEventLogAppender::open | ( |  | ) | `[protected, virtual]`

void log4cpp::NTEventLogAppender::_append | ( | const LoggingEvent & | event | ) | `[protected, virtual]`

Sends a LoggingEvent to NT Event log.

Parameters:

  | event | the LoggingEvent to log.

Implements log4cpp::AppenderSkeleton.

## Member Data Documentation

HANDLE log4cpp::NTEventLogAppender::_hEventSource`[protected]`

std::string log4cpp::NTEventLogAppender::_strSourceName`[protected]`

The documentation for this class was generated from the following files:

- NTEventLogAppender.hh
- NTEventLogAppender.cpp