// ---------------------------------------------------------------------- public LoggerEvent(LoggerLevel level, string source, string context, string message, Exception caughtException) { int levelValue = (int)level; this.level = levelValue < 0 ? LoggerLevel.Fatal : (levelValue > 4 ? LoggerLevel.Fatal : level); this.source = ArgumentCheck.NonemptyTrimmedString(source, "source"); this.context = context ?? string.Empty; this.message = message ?? string.Empty; this.caughtException = caughtException; } // LoggerEvent
// ---------------------------------------------------------------------- public void Register(ILoggerListener loggerListener, string context) { if (loggerListener == null) { throw new ArgumentNullException("loggerListener"); } string checkedContext = ArgumentCheck.NonemptyTrimmedString(context, "context"); lock ( listenerListsByContext ) { List <ILoggerListener> contextListeners; if (!listenerListsByContext.TryGetValue(checkedContext, out contextListeners)) { contextListeners = new List <ILoggerListener>(5); listenerListsByContext.Add(checkedContext, contextListeners); } lock ( contextListeners ) { contextListeners.Add(loggerListener); } } } // Register
// ---------------------------------------------------------------------- public void Register(ILoggerListener loggerListener, string context) { if (loggerListener == null) { throw new ArgumentNullException("loggerListener"); } string checkedContext = ArgumentCheck.NonemptyTrimmedString(context, "context"); lock (listenerListsByContext) { ArrayList contextListeners = listenerListsByContext[checkedContext] as ArrayList; if (contextListeners == null) { contextListeners = new ArrayList(5); listenerListsByContext.Add(checkedContext, contextListeners); } lock (contextListeners) { contextListeners.Add(loggerListener); } } } // Register
} // Register // ---------------------------------------------------------------------- public void Unregister(ILoggerListener loggerListener, string context) { if (loggerListener == null) { throw new ArgumentNullException("loggerListener"); } string checkedContext = ArgumentCheck.NonemptyTrimmedString(context, "context"); lock ( listenerListsByContext ) { List <ILoggerListener> contextListeners; if (listenerListsByContext.TryGetValue(checkedContext, out contextListeners)) { lock ( contextListeners ) { contextListeners.Remove(loggerListener); } if (contextListeners.Count == 0) { listenerListsByContext.Remove(checkedContext); } } } } // Unregister
} // Register // ---------------------------------------------------------------------- public void Unregister(ILoggerListener loggerListener, string context) { if (loggerListener == null) { throw new ArgumentNullException("loggerListener"); } string checkedContext = ArgumentCheck.NonemptyTrimmedString(context, "context"); lock (listenerListsByContext) { ArrayList contextListeners = listenerListsByContext[checkedContext] as ArrayList; if (contextListeners != null) { lock (contextListeners) { contextListeners.Remove(loggerListener); } if (contextListeners.Count == 0) { listenerListsByContext.Remove(checkedContext); } } } } // Unregister
// ---------------------------------------------------------------------- public LoggerTrace(string name) { this.name = ArgumentCheck.NonemptyTrimmedString(name, Strings.LoggerNameMayNotBeEmpty, "name"); level = new TraceSwitch(name, "trace switch for " + name + " from the application config file"); } // LoggerTrace