33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Net.Http;
|
|||
|
|
|||
|
namespace System.Web.Http.Tracing
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Test spy used internally to capture <see cref="TraceRecord"/>s.
|
|||
|
/// </summary>
|
|||
|
internal class TestTraceWriter : ITraceWriter
|
|||
|
{
|
|||
|
private List<TraceRecord> _traceRecords = new List<TraceRecord>();
|
|||
|
|
|||
|
public IList<TraceRecord> Traces { get { return _traceRecords; } }
|
|||
|
|
|||
|
public bool IsEnabled(string category, TraceLevel level)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
public void Trace(HttpRequestMessage request, string category, TraceLevel level, Action<TraceRecord> traceAction)
|
|||
|
{
|
|||
|
TraceRecord traceRecord = new TraceRecord(request, category, level);
|
|||
|
traceAction(traceRecord);
|
|||
|
lock (_traceRecords)
|
|||
|
{
|
|||
|
_traceRecords.Add(traceRecord);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|