예제 #1
0
 /// <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;
 }
예제 #2
0
        /// <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;
        }
예제 #3
0
        /// <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;
        }
예제 #4
0
        /// <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;
        }
예제 #5
0
        /// <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;
        }