blob: 166a7bd2d5bed3842c8f689d26f3c01f63885d69 [file] [log] [blame]
using log4net.Appender;
using log4net.Core;
using log4net.Filter;
using log4net.Layout;
namespace NPanday.VisualStudio
{
class OutputWindowPaneAppender : AppenderSkeleton
{
private EnvDTE.OutputWindowPane outputWindowPane;
public OutputWindowPaneAppender(EnvDTE.OutputWindowPane outputWindowPane, Level maxLevel)
{
this.outputWindowPane = outputWindowPane;
LevelRangeFilter filter = new LevelRangeFilter();
filter.LevelMin = maxLevel;
base.AddFilter(filter);
PatternLayout layout = new PatternLayout();
if (maxLevel.CompareTo(Level.Debug) <= 0)
{
layout.ConversionPattern = "%date %-5level %logger - %message%newline";
}
else
{
layout.ConversionPattern = "[%level] %message%newline";
}
layout.ActivateOptions();
base.Layout = layout;
}
override protected void Append(LoggingEvent loggingEvent)
{
outputWindowPane.OutputString(RenderLoggingEvent(loggingEvent));
}
}
}