/// <summary> /// Creates a <see cref="LogEventPublisherInternal"/>. /// </summary> /// <param name="attributes"></param> /// <param name="owner">the owner of the log messages.</param> /// <param name="publisher">the publisher that is used to raise messages</param> /// <param name="logger">the callback for all new messages that are generated.</param> /// <param name="stackTraceDepth"></param> /// <param name="messagesPerSecond"></param> /// <param name="burstLimit"></param> internal LogEventPublisherInternal(LogMessageAttributes attributes, LogEventPublisherDetails owner, LogPublisherInternal publisher, LoggerInternal logger, int stackTraceDepth, double messagesPerSecond, int burstLimit) { if (owner == null) { throw new ArgumentNullException(nameof(owner)); } if (publisher == null) { throw new ArgumentNullException(nameof(publisher)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } m_attributes = attributes; var supression = new LogSuppressionEngine(messagesPerSecond, burstLimit); m_owner = owner; m_logger = logger; m_stackTraceDepth = 0; m_supressionEngine = supression; m_publisher = publisher; m_stackTraceDepth = stackTraceDepth; m_suppressionMessageNextPublishTime = ShortTime.Now; }
/// <summary> /// Creates a <see cref="LogEventPublisherInternal"/>. /// </summary> /// <param name="attributes"></param> /// <param name="owner">the owner of the log messages.</param> /// <param name="publisher">the publisher that is used to raise messages</param> /// <param name="logger">the callback for all new messages that are generated.</param> /// <param name="stackTraceDepth"></param> /// <param name="messagesPerSecond"></param> /// <param name="burstLimit"></param> internal LogEventPublisherInternal(LogMessageAttributes attributes, LogEventPublisherDetails owner, LogPublisherInternal publisher, LoggerInternal logger, int stackTraceDepth, double messagesPerSecond, int burstLimit) { if (owner == null) throw new ArgumentNullException(nameof(owner)); if (publisher == null) throw new ArgumentNullException(nameof(publisher)); if (logger == null) throw new ArgumentNullException(nameof(logger)); m_attributes = attributes; var supression = new LogSuppressionEngine(messagesPerSecond, burstLimit); m_owner = owner; m_logger = logger; m_stackTraceDepth = 0; m_supressionEngine = supression; m_publisher = publisher; m_stackTraceDepth = stackTraceDepth; m_suppressionMessageNextPublishTime = ShortTime.Now; }