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;
}