示例#1
0
        private void AppendNormal(ThreadSafeTextBoxWrapper textboxWrapper, LoggingEvent loggingEvent)
        {
            string text = base.RenderLoggingEvent(loggingEvent);

            textboxWrapper.AppendText(text);
            textboxWrapper.ScrollToCaret();
        }
示例#2
0
        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);
                }
            };
        }
示例#4
0
        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;
                }
            }
        }
示例#7
0
 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);
            };
        }
示例#9
0
 /// <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));
 }