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