private static void RaiseToEnabledSubscribers(MulticastDelegate handler, object sender, EventArgs e, ISHLogStrategy log) { if (handler != null) { var subscribers = handler.GetInvocationList(); foreach (var s in subscribers) { var eventSubscriber = s.Target as IEventSubscriber; if (eventSubscriber != null && !eventSubscriber.enabled) { continue; } try { s.DynamicInvoke(sender, e); } catch (TargetInvocationException ex) { if (log == null) { throw ex.InnerException; } else { log.Debug("Error invoke event handler: {0}", ex.InnerException.Message); } } } } }
/// <summary> /// Writes the debug log level message. /// </summary> /// <param name='message'> /// Message. /// </param> /// <param name='args'> /// Arguments. /// </param> public void Debug(string message, params object[] args) { m_underlyingLogStrategy.Debug(BuildMessage(message), args); }