This repository has been archived by the owner on Apr 13, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
VisualStudioOutputWindowAppender.cs
48 lines (41 loc) · 1.73 KB
/
VisualStudioOutputWindowAppender.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//-----------------------------------------------------------------------
// <copyright file="VisualStudioOutputWindowAppender.cs" company="Copacetic Software">
// Copyright (c) Copacetic Software.
// <author>Philip Pittle</author>
// <date>Wednesday, April 30, 2014 5:48:10 PM</date>
// Licensed under the Apache License, Version 2.0,
// you may not use this file except in compliance with this License.
//
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an 'AS IS' BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//-----------------------------------------------------------------------
using CopaceticSoftware.CodeGenerator.StarterKit.Infrastructure;
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
namespace CopaceticSoftware.CodeGenerator.StarterKit.Logging
{
public class VisualStudioOutputWindowAppender : AppenderSkeleton
{
public IVisualStudioWriter OutputWindow { get; set; }
public VisualStudioOutputWindowAppender(IVisualStudioWriter outputWindow)
{
OutputWindow = outputWindow;
Layout = new PatternLayout("%-5level %logger - %message%newline");
}
protected override void Append(LoggingEvent loggingEvent)
{
if (null == OutputWindow)
return;
if (null == loggingEvent)
return;
OutputWindow.OutputString(RenderLoggingEvent(loggingEvent));
}
}
}