Hi all,

Currently, the EventLogAppender supports configuring the event log LogName 
(event log) and ApplicationName (event source).  It also supports logging the 
EventID by adding a property to the LoggingEvent.  However, it does not support 
logging the event category (a short) even though there is a 
System.Diagnostics.EventLog.WriteEvent() method that supports it.

I was able to get event categories supported with little effort and I was 
wondering if it would be possible to include this feature in future releases.  
My team would like to use this feature, but some people are resistant to 
maintaining a modified version of log4net.  :-\

In order to get <category value="1" /> working for the EventLogAppender 
configuration, I had to:
1. create a public (string) property, Category, and a private (string) field, 
m_category, to EventLogAppender
2. add some code to Append() (Similar code is used earlier in the function to 
convert the event ID):

short category = 0;
int intVal;
if ((m_category != null) && SystemInfo.TryParse(m_category, out intVal))
{
  category = (short) intVal;  
}

3. modify a line in Append() (or add an if/else block):
change:
EventLog.WriteEntry(m_applicationName, eventTxt, entryType, eventID);
to:
EventLog.WriteEntry(m_applicationName, eventTxt, entryType, eventID, category);


As you can see, the change is fairly straightforward.  I hope it is something 
that you can add to a future release.  Thanks for your time!

Javan Gargus
Software Developer, GE Fanuc
[EMAIL PROTECTED]

Reply via email to