Hello, I have library without any xml file:
public class Log4NetEventLogger { #region Private Instance Fields private string _loggerName; private log4net.ILog _logger; #endregion Private Instance Fields #region constructor public Log4NetEventLogger(string logerName) { _loggerName = logerName; _logger = log4net.LogManager.GetLogger(_loggerName); if (_logger.Logger.Repository.GetAppenders().Where(a => a.Name == "EventLogAppender").Count() == 0) { AddAppender(logerName, CreateEventLogAppender("EventLogAppender")); } } #endregion constructor public void AddEntry(string contextInfo, string message, EventLogEntryType eventType) { _logger = log4net.LogManager.GetLogger(_loggerName); switch (eventType) { case EventLogEntryType.Error: _logger.Error(message); break; case EventLogEntryType.Warning: _logger.Warn(message); break; case EventLogEntryType.Information: _logger.Info(message); break; case EventLogEntryType.SuccessAudit: throw new NotImplementedException(); break; case EventLogEntryType.FailureAudit: throw new NotImplementedException(); break; default: throw new ArgumentOutOfRangeException("eventType"); } public static void AddAppender(string loggerName, log4net.Appender.IAppender appender) { log4net.ILog log = log4net.LogManager.GetLogger(loggerName); log4net.Repository.Hierarchy.Logger l = (log4net.Repository.Hierarchy.Logger)log.Logger; l.AddAppender(appender); } private IAppender CreateEventLogAppender(string loggerName) { log4net.Appender.EventLogAppender appender = new log4net.Appender.EventLogAppender(); appender.Name = "EventLogAppender"; appender.ApplicationName = loggerName; appender.LogName = "MyDiary"; log4net.Layout.PatternLayout layout = new log4net.Layout.PatternLayout(); layout.ConversionPattern = "%d [%t] %-5p %c [%x] - %m%n"; layout.ActivateOptions(); appender.Layout = layout; appender.ActivateOptions(); var filter = new log4net.Filter.LoggerMatchFilter(); filter.AcceptOnMatch = true; var filterDeny = new log4net.Filter.DenyAllFilter(); var filterErrorType = new log4net.Filter.LevelRangeFilter(); filterErrorType.AcceptOnMatch = true; //filterErrorType.LevelMin = Level.Error; appender.AddFilter(filter); appender.AddFilter(filterDeny); appender.AddFilter(filterErrorType); appender.ActivateOptions(); log4net.Config.BasicConfigurator.Configure(appender); return appender; } } } I use it like this: var myLogger = new Log4NetEventLogger("calculator"); myLogger.AddEntry("exception", "additionalInformation", EventLogEntryType.Error); I use windows xp as Administrator It creates me new eventlog, but it doesn't add any new item to it. Why is that ? Thanks & Regards,