Beispiel #1
0
 /// <summary>
 /// <para>Initialize a new named instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(string name, NamedElementCollection<CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : base(name, typeof(CategoryFilter))
 {
     CategoryFilters = categoryFilters;
     CategoryFilterMode = categoryFilterMode;
 }
Beispiel #2
0
        /// <summary>
        /// Test a log entry against the category filters.
        /// </summary>
        /// <param name="log">Log entry to test.</param>
        /// <returns>Returns true if the log entry passes through the category filter.</returns>
        public bool Filter(LogEntry log)
        {
            LoggingSettings    settings           = loggingConfigurationView.GetLoggingSettings();
            bool               passFilter         = true;
            CategoryFilterData categoryFilterData = settings.CategoryFilters[log.Category];
            string             category           = null;

            if (categoryFilterData != null)
            {
                category = categoryFilterData.Name;
            }
            CategoryFilterMode mode = settings.CategoryFilterMode;

            // if the category is not in the hashtable and the mode is allow - filter out the message
            if ((category == null) && (mode == CategoryFilterMode.DenyAllExceptAllowed))
            {
                passFilter = false;
            }
            // if the category is in the hashtable and the mode is deny - filter out the message
            else if ((category != null) && (mode == CategoryFilterMode.AllowAllExceptDenied))
            {
                passFilter = false;
            }
            return(passFilter);
        }
 /// <summary>
 /// <para>Initialize a new named instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="name">The name.</param>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(string name, NamedElementCollection <CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : base(name, typeof(CategoryFilter))
 {
     CategoryFilters    = categoryFilters;
     CategoryFilterMode = categoryFilterMode;
 }
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     Debug.Assert(provider != null, "No service provider; we cannot edit the value");
     if (provider != null)
     {
         IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
         Debug.Assert(edSvc != null, "No editor service; we cannot edit the value");
         if (edSvc != null)
         {
             IWindowsFormsEditorService service         = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
             CategoryFilterEditorUI     dialog          = new CategoryFilterEditorUI();
             CategoryFilterNode         currentSettings = (CategoryFilterNode)context.Instance;
             InitializeDialog(dialog, currentSettings);
             if (DialogResult.OK == service.ShowDialog(dialog))
             {
                 CategoryFilterMode categoryFilterMode = dialog.FilterMode;
                 NamedElementCollection <CategoryFilterEntry> categoryFilters = new NamedElementCollection <CategoryFilterEntry>();
                 foreach (string category in dialog.SelectedCategoryNames)
                 {
                     CategoryFilterEntry categoryFilter = new CategoryFilterEntry();
                     categoryFilter.Name = category;
                     categoryFilters.Add(categoryFilter);
                 }
                 return(new CategoryFilterSettings(categoryFilterMode, categoryFilters));
             }
         }
     }
     return(value);
 }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param key="msgTime"></param>
        /// <param key="msglvl"></param>
        /// <param key="threadid"></param>
        /// <param key="threadName"></param>
        /// <param key="msg"></param>
        private static void WriteLine(DateTime msgTime, CategoryFilterMode msglvl, int threadid, string threadName, string msg)
        {
            string message;

            //DateTime msgtime = DateTime.Now;

            //if (threadName == null)
            //{
            //    string messageId = string.Format("<{0}.{1}>{2}", m_ProcessId, threadid, Enum.Format(typeof(CategoryFilterMode), msglvl, "G"));
            //    message = string.Format("{0}-{1}-{2}-{3}", messageId, msglvl, msgtime.ToString(), msg);

            //}
            //else
            //{
            //    string messageId = string.Format("<{0}.{1}.{2}>{3}", m_ProcessId, threadid, threadName, Enum.Format(typeof(CategoryFilterMode), msglvl, "G"));
            //    message = string.Format("{0}-{1}-{2}", messageId, msgtime.ToString(), msg);
            //}
            string msgtime = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss.fff");

            message = string.Format("{0} | {1} | {2} | {3} | {4}", msgtime, msglvl, GetMemoryLoad(), GetThreadPoolTaskNumber(), msg);
            //message = string.Format("{0} | {1} | {2} | {3}", msgtime, msglvl, GetThreadPoolTaskNumber(), msg);

            if (ShowLog != null)
            {
                lock (objKey1)
                {
                    ShowLog(message);
                }

                //myListener.WriteLine(message);

                //myListener.Flush();
            }
        }
Beispiel #6
0
 /// <summary>
 /// Initialize a new instance of the <see cref="LoggingSettings"/> using the given values
 /// </summary>
 /// <param name="name">The name to use for this instance</param>
 /// <param name="tracingEnabled">Should tracing be enabled?</param>
 /// <param name="loggingEnabled">Should logging be enabled?</param>
 /// <param name="distributionStrategy">The distribution strategy to use.</param>
 /// <param name="minimumPriority">The minimum value for messages to be processed.</param>
 /// <param name="categoryFilterMode">The category filter mode to use.</param>
 public LoggingSettings(string name, bool tracingEnabled, bool loggingEnabled, string distributionStrategy, int minimumPriority, CategoryFilterMode categoryFilterMode)
 {
     this.categoryFilters = categoryFilters;
     this.distributionStrategies = distributionStrategies;
     this.name = name;
     this.tracingEnabled = tracingEnabled;
     this.loggingEnabled = loggingEnabled;
     this.distributionStrategy = distributionStrategy;
     this.minimumPriority = minimumPriority;
     this.categoryFilterMode = categoryFilterMode;
     categoryFilters = new CategoryFilterDataCollection();
     distributionStrategies = new DistributionStrategyDataCollection();
 }
Beispiel #7
0
 /// <summary>
 /// Initialize a new instance of the <see cref="LoggingSettings"/> using the given values
 /// </summary>
 /// <param name="name">The name to use for this instance</param>
 /// <param name="tracingEnabled">Should tracing be enabled?</param>
 /// <param name="loggingEnabled">Should logging be enabled?</param>
 /// <param name="distributionStrategy">The distribution strategy to use.</param>
 /// <param name="minimumPriority">The minimum value for messages to be processed.</param>
 /// <param name="categoryFilterMode">The category filter mode to use.</param>
 public LoggingSettings(string name, bool tracingEnabled, bool loggingEnabled, string distributionStrategy, int minimumPriority, CategoryFilterMode categoryFilterMode)
 {
     this.categoryFilters        = categoryFilters;
     this.distributionStrategies = distributionStrategies;
     this.name                 = name;
     this.tracingEnabled       = tracingEnabled;
     this.loggingEnabled       = loggingEnabled;
     this.distributionStrategy = distributionStrategy;
     this.minimumPriority      = minimumPriority;
     this.categoryFilterMode   = categoryFilterMode;
     categoryFilters           = new CategoryFilterDataCollection();
     distributionStrategies    = new DistributionStrategyDataCollection();
 }
Beispiel #8
0
        public void CategoryFilterDataTest()
        {
            string             name       = "some name";
            CategoryFilterMode filterMode = CategoryFilterMode.AllowAllExceptDenied;
            string             filterName = "some filter";
            CategoryFilterData data       = new CategoryFilterData();

            data.Name = name;
            data.CategoryFilterMode = filterMode;
            data.CategoryFilters.Add(new CategoryFilterEntry(filterName));
            CategoryFilterNode node = new CategoryFilterNode(data);

            Assert.AreEqual(name, node.Name);
            Assert.AreEqual(filterMode, node.CategoryFilterExpression.CategoryFilterMode);
            Assert.AreEqual(1, node.CategoryFilterExpression.CategoryFilters.Count);
            Assert.AreEqual(filterName, node.CategoryFilterExpression.CategoryFilters.Get(0).Name);
        }
Beispiel #9
0
        //寫入檔案
        private static void WriteLineToFile(DateTime msgTime, CategoryFilterMode msglvl, int threadid, string threadName, string msg)
        {
            try
            {
                //換天時執行
                if (DateTime.Today > _todayDateTime)
                {
                    SetLogFile(m_FilePath, m_FileName, m_FileExp, m_ReserveDay);
                }

                string message;

                //DateTime msgtime = DateTime.Now;
                //if (threadName == null)
                //{
                //    string messageId = string.Format("<{0}.{1}>{2}", m_ProcessId, threadid, Enum.Format(typeof(CategoryFilterMode), msglvl, "G"));
                //    message = string.Format("{0}-{1}-{2}-{3}", messageId, msglvl, msgtime.ToString(), msg);

                //}
                //else
                //{
                //    string messageId = string.Format("<{0}.{1}.{2}>{3}", m_ProcessId, threadid, threadName, Enum.Format(typeof(CategoryFilterMode), msglvl, "G"));
                //    message = string.Format("{0}-{1}-{2}", messageId, msgtime.ToString(), msg);
                //}

                string msgtime = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss.fff");
                message = string.Format("{0} | {1} | {2} | {3} | {4}", msgtime, msglvl, GetMemoryLoad(), GetThreadPoolTaskNumber(), msg);
                //message = string.Format("{0} | {1} | {2} | {3}", msgtime, msglvl, GetThreadPoolTaskNumber(), msg);

                lock (objKey2)
                {
                    if (myListener == null)
                    {
                        SetLogFilePath(string.Format(@"{0}\{1}", Application.StartupPath, "DefaultLog.log"));
                    }
                    myListener.WriteLine(message);
                    myListener.Flush();
                }
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
            }
        }
Beispiel #10
0
        public void CategoryFilterNodeTest()
        {
            string                 name           = "some name";
            CategoryFilterMode     filterMode     = CategoryFilterMode.AllowAllExceptDenied;
            string                 filterName     = "some filter";
            CategoryFilterSettings filterSettings = new CategoryFilterSettings(filterMode, new NamedElementCollection <CategoryFilterEntry>());

            filterSettings.CategoryFilters.Add(new CategoryFilterEntry(filterName));
            CategoryFilterNode node = new CategoryFilterNode();

            node.Name = name;
            node.CategoryFilterExpression = filterSettings;
            CategoryFilterData nodeData = (CategoryFilterData)node.LogFilterData;

            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(filterMode, nodeData.CategoryFilterMode);
            Assert.AreEqual(1, nodeData.CategoryFilters.Count);
            Assert.AreEqual(filterName, nodeData.CategoryFilters.Get(0).Name);
        }
 /// <summary>
 /// <para>Initialize a new instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(NamedElementCollection <CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : this("category", categoryFilters, categoryFilterMode)
 {
 }
Beispiel #12
0
 public CategoryFilter(string name, ICollection <string> categoryFilters, CategoryFilterMode categoryFilterMode)
     : base(name)
 {
     this.categoryFilters    = categoryFilters;
     this.categoryFilterMode = categoryFilterMode;
 }
Beispiel #13
0
 /// <summary>
 /// Creates a new <c>CategoryFilterSettings</c> object with initial settings.
 /// </summary>
 /// <param name="categoryFilterMode">The mode in which to filter.</param>
 /// <param name="categoryFilters">The collection of categories to filter.</param>
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, CategoryFilterDataCollection categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters    = categoryFilters;
 }
Beispiel #14
0
 /// <summary>
 /// <para>Initialize a new instance of the <see cref="CategoryFilterData"/> class.</para>
 /// </summary>
 /// <param name="categoryFilters">The collection of category names to filter.</param>
 /// <param name="categoryFilterMode">The mode of filtering.</param>
 public CategoryFilterData(NamedElementCollection<CategoryFilterEntry> categoryFilters,
                           CategoryFilterMode categoryFilterMode)
     : this("category", categoryFilters, categoryFilterMode)
 {
 }
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, NamedElementCollection <CategoryFilterEntry> categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters    = categoryFilters;
 }
 /// <summary>
 /// Creates a new <c>CategoryFilterSettings</c> object with initial settings.
 /// </summary>
 /// <param name="categoryFilterMode">The mode in which to filter.</param>
 /// <param name="categoryFilters">The collection of categories to filter.</param>
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, CategoryFilterDataCollection categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters = categoryFilters;
 }
Beispiel #17
0
 /// <summary>
 /// Initializes a new instance with configuration data.
 /// </summary>
 /// <param name="name">Name of this category filter.</param>
 /// <param name="categoryFilters">Categories to be included in the filter.</param>
 /// <param name="categoryFilterMode"><see cref="CategoryFilterMode"/> used to include or exclude category filters.</param>
 public CategoryFilter(string name, ICollection<string> categoryFilters, CategoryFilterMode categoryFilterMode)
     : base(name)
 {
     this.categoryFilters = categoryFilters;
     this.categoryFilterMode = categoryFilterMode;
 }
 /// <summary>
 /// Creates a new <c>CategoryFilterSettings</c> object with initial section.
 /// </summary>
 /// <param name="categoryFilterMode">The mode in which to filter.</param>
 /// <param name="categoryFilters">The collection of categories to filter.</param>
 public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, NamedElementCollection<CategoryFilterEntry> categoryFilters)
 {
     this.categoryFilterMode = categoryFilterMode;
     this.categoryFilters = categoryFilters;
 }