private void AppendNormal(ThreadSafeTextBoxWrapper textboxWrapper, LoggingEvent loggingEvent) { string text = base.RenderLoggingEvent(loggingEvent); textboxWrapper.AppendText(text); textboxWrapper.ScrollToCaret(); }
public ITextBoxAppender AddLogBox(ThreadSafeTextBoxWrapper textboxWrapper, string patternLayout) { if (textboxWrapper == null) { throw new ArgumentNullException("textboxWrapper"); } if (CurrentLog != null) { var appenderAttachable = CurrentLog.Logger as IAppenderAttachable; if (appenderAttachable != null) { TextBoxBaseAppender appender = null; if (string.IsNullOrEmpty(patternLayout)) { appender = new TextBoxBaseAppender(textboxWrapper); } else { appender = new TextBoxBaseAppender(textboxWrapper, new global::log4net.Layout.PatternLayout(patternLayout)); } appender.LogThreshold = LogLevel.All; appenderAttachable.AddAppender(appender); return(appender); } } return(null); }
private void Initialize() { ThreadSafeTextBoxWrapper wrapper = null; if (tb is RichTextBox) { wrapper = new ThreadSafeRichTextBoxWrapper((RichTextBox)tb); } else { wrapper = new ThreadSafeTextBoxWrapper(tb); } var logService = This.Logger; if ((logService != null) && (logService is ITextBoxAppendable)) { var log = (ITextBoxAppendable)logService; appender = log.AddLogBox(wrapper, "%date [%thread] (%logger) %-8level- %message%newline"); if (appender != null) { appender.LogThreshold = SelectedLevel; } } var levels = new List <LogLevel>(); levels.AddRange(Enums <LogLevel> .Values); levels.Sort((l1, l2) => (int)l1 - (int)l2); levels.ForEach(level => logLevelList.Items.Add(level)); //TODO: select the log level depending on a settings file. logLevelList.SelectedItem = selectedLevel; foreach (ToolStripItem item in cm.Items) { items.Add(item); } foreach (ToolStripItem item in ts.Items) { if ((item != logLeveltoolStripLabel) && (item != logLevelList) && (item != toggleWordWrapToolStripButton)) { items.Add(item); } } UpdateToolStripItems(); tb.TextChanged += (s, e) => UpdateToolStripItems(); tb.LinkClicked += (s, e) => { // We send the event to our parent. if (LinkClicked != null) { LinkClicked(this, e); } }; }
public TextBoxBaseAppender(ThreadSafeTextBoxWrapper textboxWrapper, ILayout layout) { if (textboxWrapper == null) { throw new ArgumentNullException("textboxWrapper"); } controlWrapper = textboxWrapper; isRichTextBox = (controlWrapper is ThreadSafeRichTextBoxWrapper); base.Layout = layout ?? new PatternLayout(defaultLayout); }
private void Initialize() { ThreadSafeTextBoxWrapper wrapper = new ThreadSafeTextBoxWrapper(tb); var logService = This.Logger; if ((logService != null) && (logService is ITextBoxAppendable)) { var log = (ITextBoxAppendable)logService; appender = log.AddLogBox(wrapper); if (appender != null) appender.LogThreshold = SelectedLevel; } }
private void Initialize() { ThreadSafeTextBoxWrapper wrapper = new ThreadSafeTextBoxWrapper(tb); var logService = This.Logger; if ((logService != null) && (logService is ITextBoxAppendable)) { var log = (ITextBoxAppendable)logService; appender = log.AddLogBox(wrapper); if (appender != null) { appender.LogThreshold = SelectedLevel; } } }
public TextBoxBaseAppender(ThreadSafeTextBoxWrapper textboxWrapper) : this(textboxWrapper, new PatternLayout(defaultLayout)) { }
private void Initialize() { ThreadSafeTextBoxWrapper wrapper = null; if (tb is RichTextBox) wrapper = new ThreadSafeRichTextBoxWrapper((RichTextBox)tb); else wrapper = new ThreadSafeTextBoxWrapper(tb); var logService = This.Logger; if ((logService != null) && (logService is ITextBoxAppendable)) { var log = (ITextBoxAppendable)logService; appender = log.AddLogBox(wrapper, "%date [%thread] (%logger) %-8level- %message%newline"); if (appender != null) appender.LogThreshold = SelectedLevel; } var levels = new List<LogLevel>(); levels.AddRange(Enums<LogLevel>.Values); levels.Sort((l1, l2) => (int)l1 - (int)l2); levels.ForEach(level => logLevelList.Items.Add(level)); //TODO: select the log level depending on a settings file. logLevelList.SelectedItem = selectedLevel; foreach (ToolStripItem item in cm.Items) items.Add(item); foreach (ToolStripItem item in ts.Items) { if ((item != logLeveltoolStripLabel) && (item != logLevelList) && (item != toggleWordWrapToolStripButton)) items.Add(item); } UpdateToolStripItems(); tb.TextChanged += (s, e) => UpdateToolStripItems(); tb.LinkClicked += (s, e) => { // We send the event to our parent. if (LinkClicked != null) LinkClicked(this, e); }; }
/// <summary> /// Adds the log box. /// </summary> /// <param name="textboxWrapper">The textbox wrapper.</param> /// <returns></returns> public ITextBoxAppender AddLogBox(ThreadSafeTextBoxWrapper textboxWrapper) { return(AddLogBox(textboxWrapper, string.Empty)); }