示例#1
0
        public KeywordConfigForm(TailKeywordConfig keywordConfig, TailFileConfig tailFileConfig)
        {
            InitializeComponent();

            _tailFileConfig = tailFileConfig;

            if (keywordConfig != null)
                TailKeywordConfig = keywordConfig;
            else
            {
                TailKeywordConfig = new TailKeywordConfig();
                TailKeywordConfig.FormBackColor = Color.Red;
                TailKeywordConfig.FormTextColor = Color.White;
            }
        }
示例#2
0
        public KeywordConfigForm(TailKeywordConfig keywordConfig, TailFileConfig tailFileConfig)
        {
            InitializeComponent();

            _tailFileConfig = tailFileConfig;

            if (keywordConfig != null)
            {
                TailKeywordConfig = keywordConfig;
            }
            else
            {
                TailKeywordConfig = new TailKeywordConfig();
                TailKeywordConfig.FormBackColor = Color.Red;
                TailKeywordConfig.FormTextColor = Color.White;
            }
        }
示例#3
0
 private void UpdateKeywordListItem(TailKeywordConfig keyword, ref ListViewItem lvi)
 {
     lvi.SubItems.Clear();
     lvi.Text = keyword.Keyword;
     lvi.UseItemStyleForSubItems = false;
     if (keyword.FormTextColor.HasValue)
     {
         lvi.ForeColor = keyword.FormTextColor.Value;
     }
     if (keyword.FormBackColor.HasValue)
     {
         lvi.BackColor = keyword.FormBackColor.Value;
     }
     lvi.SubItems.Add(keyword.MatchCaseSensitive ? "Yes" : "No");
     lvi.SubItems.Add(keyword.MatchRegularExpression ? "Yes" : "No");
     lvi.SubItems.Add(keyword.AlertHighlight.Value ? "Yes" : "No");
     lvi.Tag = keyword;
 }
示例#4
0
        private TailKeywordConfig MatchesKeyword(string line, bool onlyKeywordHighlight, bool onlyTextColoring)
        {
            TailKeywordConfig matchKeyword = null;
            if (_keywordHighlight != null && _keywordHighlight.Count > 0)
            {
                foreach (TailKeywordConfig keyword in _keywordHighlight)
                {
                    if (onlyTextColoring)
                    {
                        if (!keyword.TextColoring.Value)
                            continue;
                    }
                    else if (matchKeyword != null)
                    {
                        // Ignore keywords that doesn't add extra detail to the existing keyword-match
                        if ( (matchKeyword.ExternalToolConfig != null || keyword.ExternalToolConfig == null)
                          && (matchKeyword.LogHitCounter || !keyword.LogHitCounter)
                          && (matchKeyword.AlertHighlight.Value || !keyword.AlertHighlight.Value)
                            )
                           continue;
                    }

                    if ((keyword.KeywordRegex != null && keyword.KeywordRegex.IsMatch(line))
                      || (keyword.KeywordRegex == null && keyword.MatchCaseSensitive && line.IndexOf(keyword.Keyword, StringComparison.CurrentCulture) != -1)
                      || (keyword.KeywordRegex == null && !keyword.MatchCaseSensitive && line.IndexOf(keyword.Keyword, StringComparison.CurrentCultureIgnoreCase) != -1)
                       )
                    {
                        if (onlyKeywordHighlight)
                        {
                            // If high priority match is performing text-coloring, then no line match
                            if (keyword.TextColoring.Value && !keyword.AlertHighlight.Value)
                                return null;
                            else if (keyword.AlertHighlight.Value)
                                return keyword;
                        }
                        else if (onlyTextColoring)
                        {
                            return keyword;
                        }
                        else if (matchKeyword != null)
                        {
                            // Add extra detail to the existing keyword-match
                            matchKeyword = new TailKeywordConfig() { ExternalToolConfig = matchKeyword.ExternalToolConfig, LogHitCounter = matchKeyword.LogHitCounter, AlertHighlight = matchKeyword.AlertHighlight };
                            if (matchKeyword.ExternalToolConfig==null && keyword.ExternalToolConfig!=null)
                                matchKeyword.ExternalToolConfig = keyword.ExternalToolConfig;
                            if (!matchKeyword.LogHitCounter && keyword.LogHitCounter)
                                matchKeyword.LogHitCounter = keyword.LogHitCounter;
                            if (!matchKeyword.AlertHighlight.Value && keyword.AlertHighlight.Value)
                                matchKeyword.AlertHighlight = keyword.AlertHighlight;
                        }
                        else
                        {
                            matchKeyword = keyword;
                        }

                        if (matchKeyword.LogHitCounter && matchKeyword.AlertHighlight.Value && matchKeyword.ExternalToolConfig != null)
                            return matchKeyword;	// We have all the details we need
                    }
                }
            }
            return matchKeyword;
        }
示例#5
0
 private void UpdateKeywordListItem(TailKeywordConfig keyword, ref ListViewItem lvi)
 {
     lvi.SubItems.Clear();
     lvi.Text = keyword.Keyword;
     lvi.UseItemStyleForSubItems = false;
     if (keyword.FormTextColor.HasValue)
         lvi.ForeColor = keyword.FormTextColor.Value;
     if (keyword.FormBackColor.HasValue)
         lvi.BackColor = keyword.FormBackColor.Value;
     lvi.SubItems.Add(keyword.MatchCaseSensitive ? "Yes" : "No");
     lvi.SubItems.Add(keyword.MatchRegularExpression ? "Yes" : "No");
     lvi.SubItems.Add(keyword.AlertHighlight.Value ? "Yes" : "No");
     lvi.Tag = keyword;
 }