using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net.Appender;
using System.Windows.Forms;
using log4net.Core;
using log4net.Layout;
namespace UI
{
/// <summary>
/// Usage:
/// log4net.Config.BasicConfigurator.Configure();
/// var logPattern = "%date [%thread] %-5level %logger !%M - %message%newline";
/// var logAppender = new TextBoxBaseAppender()
/// {
/// TextBox = this.textBox2,
/// Layout = new PatternLayout(logPattern)
/// };
///
/// ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetLoggerRepository()).Root.AddAppender(logAppender);
/// </summary>
public class TextBoxBaseAppender : AppenderSkeleton
{
public TextBoxBase TextBox { get; set; }
public TextBoxBaseAppender()
{
}
protected override void Append(LoggingEvent loggingEvent)
{
if (this.TextBox == null)
{
return;
}
if(!this.TextBox.IsHandleCreated)
{
return;
}
if(this.TextBox.IsDisposed)
{
return;
}
var patternLayout = this.Layout as PatternLayout;
var str = string.Empty;
if (patternLayout != null)
{
str = patternLayout.Format(loggingEvent);
if (loggingEvent.ExceptionObject != null)
{
str += loggingEvent.ExceptionObject.ToString() + Environment.NewLine;
}
}
else
{
str = loggingEvent.LoggerName + "-" + loggingEvent.RenderedMessage + Environment.NewLine;
}
if (!this.TextBox.InvokeRequired)
{
this.TextBox.AppendText(str);
}
else
{
this.TextBox.BeginInvoke((MethodInvoker)delegate
{
if (!this.TextBox.IsHandleCreated)
{
return;
}
if (this.TextBox.IsDisposed)
{
return;
}
this.TextBox.AppendText(str);
});
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net.Appender;
using System.Windows.Forms;
using log4net.Core;
using log4net.Layout;
namespace UI
{
/// <summary>
/// Usage:
/// log4net.Config.BasicConfigurator.Configure();
/// var logPattern = "%date [%thread] %-5level %logger !%M - %message%newline";
/// var logAppender = new TextBoxBaseAppender()
/// {
/// TextBox = this.textBox2,
/// Layout = new PatternLayout(logPattern)
/// };
///
/// ((log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetLoggerRepository()).Root.AddAppender(logAppender);
/// </summary>
public class TextBoxBaseAppender : AppenderSkeleton
{
public TextBoxBase TextBox { get; set; }
public TextBoxBaseAppender()
{
}
protected override void Append(LoggingEvent loggingEvent)
{
if (this.TextBox == null)
{
return;
}
if(!this.TextBox.IsHandleCreated)
{
return;
}
if(this.TextBox.IsDisposed)
{
return;
}
var patternLayout = this.Layout as PatternLayout;
var str = string.Empty;
if (patternLayout != null)
{
str = patternLayout.Format(loggingEvent);
if (loggingEvent.ExceptionObject != null)
{
str += loggingEvent.ExceptionObject.ToString() + Environment.NewLine;
}
}
else
{
str = loggingEvent.LoggerName + "-" + loggingEvent.RenderedMessage + Environment.NewLine;
}
if (!this.TextBox.InvokeRequired)
{
this.TextBox.AppendText(str);
}
else
{
this.TextBox.BeginInvoke((MethodInvoker)delegate
{
if (!this.TextBox.IsHandleCreated)
{
return;
}
if (this.TextBox.IsDisposed)
{
return;
}
this.TextBox.AppendText(str);
});
}
}
}
}