56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
|
//-----------------------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
namespace System.ServiceModel.Diagnostics
|
||
|
{
|
||
|
using System.Diagnostics;
|
||
|
|
||
|
class DiagnosticTraceSource : PiiTraceSource
|
||
|
{
|
||
|
const string PropagateActivityValue = "propagateActivity";
|
||
|
internal DiagnosticTraceSource(string name, string eventSourceName)
|
||
|
: base(name, eventSourceName)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
internal DiagnosticTraceSource(string name, string eventSourceName, SourceLevels level)
|
||
|
: base(name, eventSourceName, level)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
protected override string[] GetSupportedAttributes()
|
||
|
{
|
||
|
string[] baseAttributes = base.GetSupportedAttributes();
|
||
|
string[] supportedAttributes = new string[baseAttributes.Length + 1];
|
||
|
for (int i = 0; i < baseAttributes.Length; i++)
|
||
|
{
|
||
|
supportedAttributes[i] = baseAttributes[i];
|
||
|
}
|
||
|
supportedAttributes[baseAttributes.Length] = DiagnosticTraceSource.PropagateActivityValue;
|
||
|
|
||
|
return supportedAttributes;
|
||
|
}
|
||
|
|
||
|
internal bool PropagateActivity
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
bool retval = false;
|
||
|
string attributeValue = this.Attributes[DiagnosticTraceSource.PropagateActivityValue];
|
||
|
if (!string.IsNullOrEmpty(attributeValue))
|
||
|
{
|
||
|
if (!bool.TryParse(attributeValue, out retval))
|
||
|
{
|
||
|
retval = false;
|
||
|
}
|
||
|
}
|
||
|
return retval;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
this.Attributes[DiagnosticTraceSource.PropagateActivityValue] = value.ToString();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|