/// <summary> /// AsyncQueueWrapperConfiguration constructor /// </summary> /// <param name="maxQueueSize">Bounded capacity of the queue ('-1' - capacity not limited)</param> /// <param name="isDiscardExcess">Can wrapper discard messages on queue overflow ('false' - block the caller)</param> /// <param name="innerWriter">Inner writer/wrapper configuration</param> public AsyncQueueWrapperConfiguration(int maxQueueSize, bool isDiscardExcess, LogWriterWrapperConfiguration innerWriter) : base(WriterTypeEnum.AsyncQueueWrapper) { MaxQueueSize = maxQueueSize; IsDiscardExcess = isDiscardExcess; InnerWriter = innerWriter; }
/// <summary> /// LoggerConfiguration constructor /// </summary> /// <param name="level">Global log level</param> /// <param name="isEnabled">Should logger be enabled</param> /// <param name="isStackTraceEnabled">Can logger perform StackTrace extraction (more information, but slow)</param> /// <param name="writer">Real writer/wrapper configuration</param> public LoggerConfiguration(LogLevel level, bool isEnabled, bool isStackTraceEnabled, LogWriterWrapperConfiguration writer) { Contract.Requires <ArgumentNullException>(level != null); Level = level; IsEnabled = isEnabled; IsStackTraceEnabled = isStackTraceEnabled; Writer = writer; }
/// <summary> /// ReliableWrapperConfiguration constructor /// </summary> /// <param name="folderName">Forlder name to store files with logs</param> /// <param name="maxSingleFileSize">Maximum size of single file</param> /// <param name="innerWriter">Inner writer/wrapper configuration</param> public ReliableWrapperConfiguration(string folderName, long maxSingleFileSize, LogWriterWrapperConfiguration innerWriter) : base(WriterTypeEnum.ReliableWrapper) { Contract.Requires <ArgumentException>(!string.IsNullOrEmpty(folderName)); Contract.Requires <ArgumentException>(maxSingleFileSize >= 4 * 1024); FolderForTemporaryStore = folderName; MaxFileSize = maxSingleFileSize; InnerWriter = innerWriter; }
/// <summary> /// AsyncReliableQueueWrapperConfiguration constructor /// </summary> /// <param name="maxQueueSize">Bounded capacity of the queue ('-1' - capacity not limited)</param> /// <param name="isDiscardExcess">Can wrapper discard messages on queue overflow ('false' - block the caller)</param> /// <param name="folderName">Forlder name to store files with logs</param> /// <param name="maxSingleFileSize">Maximum size of single file</param> /// <param name="innerWriter">Inner writer/wrapper configuration</param> public AsyncReliableQueueWrapperConfiguration(int maxQueueSize, bool isDiscardExcess, string folderName, long maxSingleFileSize, LogWriterWrapperConfiguration innerWriter) : base(WriterTypeEnum.AsyncQueueWithReliableSendingWrapper) { Contract.Requires <ArgumentException>(!string.IsNullOrEmpty(folderName)); Contract.Requires <ArgumentException>(maxSingleFileSize >= 4 * 1024); MaxQueueSize = maxQueueSize; IsDiscardExcess = isDiscardExcess; FolderForTemporaryStore = folderName; MaxFileSize = maxSingleFileSize; InnerWriter = innerWriter; }
/// <summary> /// PatternMatchingWrapperConfiguration constructor /// </summary> /// <param name="pattern">Pattern to build the string for comparison</param> /// <param name="matchWriters">Writer/wrapper configurations for concrete matching</param> /// <param name="defaultWriter">Writer/wrapper configuration that will be used when matches not found</param> public PatternMatchingWrapperConfiguration(string pattern, Dictionary <string, LogWriterWrapperConfiguration> matchWriters, LogWriterWrapperConfiguration defaultWriter) : base(WriterTypeEnum.PatternMatchingWrapper) { Contract.Requires <ArgumentNullException>(pattern != null); Pattern = pattern; if (matchWriters != null) { MatchWriters = new Dictionary <string, LogWriterWrapperConfiguration>(matchWriters); } else { MatchWriters = new Dictionary <string, LogWriterWrapperConfiguration>(); } DefaultWriter = defaultWriter; }