Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / Diagnostics / DelimitedListTraceListener.cs / 1 / DelimitedListTraceListener.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Text;
using System.Globalization;
using System.IO;
using System.Collections;
using System.Security.Permissions;
using System.Runtime.Versioning;
namespace System.Diagnostics {
[HostProtection(Synchronization=true)]
public class DelimitedListTraceListener : TextWriterTraceListener {
string delimiter = ";";
string secondaryDelim = ",";
bool initializedDelim = false;
public DelimitedListTraceListener(Stream stream) : base(stream) {
}
public DelimitedListTraceListener(Stream stream, string name) : base(stream, name) {
}
public DelimitedListTraceListener(TextWriter writer) : base(writer) {
}
public DelimitedListTraceListener(TextWriter writer, string name) : base(writer, name) {
}
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public DelimitedListTraceListener(string fileName) : base (fileName) {
}
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public DelimitedListTraceListener(string fileName, string name) : base(fileName, name) {
}
public string Delimiter {
get {
lock(this) { // Probably overkill
if (!initializedDelim) {
if (Attributes.ContainsKey("delimiter"))
delimiter = Attributes["delimiter"];
initializedDelim = true;
}
}
return delimiter;
}
set {
if (value == null)
throw new ArgumentNullException("Delimiter");
if (value.Length == 0)
throw new ArgumentException(SR.GetString("Generic_ArgCantBeEmptyString", "Delimiter"));
lock(this) {
delimiter = value;
initializedDelim = true;
}
if (delimiter == ",")
secondaryDelim = ";";
else
secondaryDelim = ",";
}
}
protected override internal string[] GetSupportedAttributes() {
return new String[]{"delimiter"};
}
public override void TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, int id, string format, params object[] args) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, format, args))
return;
WriteHeader(source, eventType, id);
if (args != null)
WriteEscaped(String.Format(CultureInfo.InvariantCulture, format, args));
else
WriteEscaped(format);
Write(Delimiter); // Use get_Delimiter
// one more delimiter for the data object
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, int id, string message) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, message))
return;
WriteHeader(source, eventType, id);
WriteEscaped(message);
Write(Delimiter); // Use get_Delimiter
// one more delimiter for the data object
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, int id, object data) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, null, null, data))
return;
WriteHeader(source, eventType, id);
// first a delimiter for the message
Write(Delimiter); // Use get_Delimiter
WriteEscaped(data.ToString());
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, int id, params object[] data) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, null, null, null, data))
return;
WriteHeader(source, eventType, id);
// first a delimiter for the message
Write(Delimiter); // Use get_Delimiter
if (data != null) {
for (int i=0; i
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Text;
using System.Globalization;
using System.IO;
using System.Collections;
using System.Security.Permissions;
using System.Runtime.Versioning;
namespace System.Diagnostics {
[HostProtection(Synchronization=true)]
public class DelimitedListTraceListener : TextWriterTraceListener {
string delimiter = ";";
string secondaryDelim = ",";
bool initializedDelim = false;
public DelimitedListTraceListener(Stream stream) : base(stream) {
}
public DelimitedListTraceListener(Stream stream, string name) : base(stream, name) {
}
public DelimitedListTraceListener(TextWriter writer) : base(writer) {
}
public DelimitedListTraceListener(TextWriter writer, string name) : base(writer, name) {
}
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public DelimitedListTraceListener(string fileName) : base (fileName) {
}
[ResourceExposure(ResourceScope.Machine)]
[ResourceConsumption(ResourceScope.Machine)]
public DelimitedListTraceListener(string fileName, string name) : base(fileName, name) {
}
public string Delimiter {
get {
lock(this) { // Probably overkill
if (!initializedDelim) {
if (Attributes.ContainsKey("delimiter"))
delimiter = Attributes["delimiter"];
initializedDelim = true;
}
}
return delimiter;
}
set {
if (value == null)
throw new ArgumentNullException("Delimiter");
if (value.Length == 0)
throw new ArgumentException(SR.GetString("Generic_ArgCantBeEmptyString", "Delimiter"));
lock(this) {
delimiter = value;
initializedDelim = true;
}
if (delimiter == ",")
secondaryDelim = ";";
else
secondaryDelim = ",";
}
}
protected override internal string[] GetSupportedAttributes() {
return new String[]{"delimiter"};
}
public override void TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, int id, string format, params object[] args) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, format, args))
return;
WriteHeader(source, eventType, id);
if (args != null)
WriteEscaped(String.Format(CultureInfo.InvariantCulture, format, args));
else
WriteEscaped(format);
Write(Delimiter); // Use get_Delimiter
// one more delimiter for the data object
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, int id, string message) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, message))
return;
WriteHeader(source, eventType, id);
WriteEscaped(message);
Write(Delimiter); // Use get_Delimiter
// one more delimiter for the data object
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, int id, object data) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, null, null, data))
return;
WriteHeader(source, eventType, id);
// first a delimiter for the message
Write(Delimiter); // Use get_Delimiter
WriteEscaped(data.ToString());
Write(Delimiter); // Use get_Delimiter
WriteFooter(eventCache);
}
public override void TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, int id, params object[] data) {
if (Filter != null && !Filter.ShouldTrace(eventCache, source, eventType, id, null, null, null, data))
return;
WriteHeader(source, eventType, id);
// first a delimiter for the message
Write(Delimiter); // Use get_Delimiter
if (data != null) {
for (int i=0; i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathScanner.cs
- ServiceHostFactory.cs
- Selection.cs
- TextPointer.cs
- FilterUserControlBase.cs
- XhtmlBasicTextBoxAdapter.cs
- PrivateFontCollection.cs
- HwndTarget.cs
- HMACRIPEMD160.cs
- BinaryMessageFormatter.cs
- SchemaTypeEmitter.cs
- TreeViewImageKeyConverter.cs
- CodeLabeledStatement.cs
- NamedElement.cs
- CodeTypeReferenceCollection.cs
- ParallelDesigner.cs
- ThrowOnMultipleAssignment.cs
- CollectionConverter.cs
- PermissionRequestEvidence.cs
- ExecutionEngineException.cs
- BridgeDataReader.cs
- MaxMessageSizeStream.cs
- DictionaryEntry.cs
- Transform3D.cs
- ItemCheckedEvent.cs
- TypeExtensions.cs
- PageContentAsyncResult.cs
- DetailsViewRowCollection.cs
- InvalidPropValue.cs
- QilVisitor.cs
- FileDialog.cs
- StringArrayConverter.cs
- FilteredReadOnlyMetadataCollection.cs
- ReferencedAssembly.cs
- TransactionManager.cs
- RecordManager.cs
- DbBuffer.cs
- HttpResponse.cs
- TransformedBitmap.cs
- ServerValidateEventArgs.cs
- AuthorizationSection.cs
- ProtocolElement.cs
- PixelShader.cs
- PartialCachingAttribute.cs
- HtmlShimManager.cs
- BooleanKeyFrameCollection.cs
- ExtensibleClassFactory.cs
- ZipIOLocalFileHeader.cs
- _LoggingObject.cs
- DbProviderFactories.cs
- TableAdapterManagerMethodGenerator.cs
- DataGridViewMethods.cs
- InstanceLockLostException.cs
- IndexedGlyphRun.cs
- ListBindingConverter.cs
- Int32CAMarshaler.cs
- TemplateControl.cs
- RenderingEventArgs.cs
- TerminatorSinks.cs
- ObjRef.cs
- BindingSource.cs
- MappingMetadataHelper.cs
- ClientUrlResolverWrapper.cs
- FullTrustAssembliesSection.cs
- SizeConverter.cs
- CustomAttributeFormatException.cs
- WebSysDefaultValueAttribute.cs
- Random.cs
- PeerName.cs
- WebPartsPersonalizationAuthorization.cs
- NativeBuffer.cs
- WebServiceAttribute.cs
- PointAnimationBase.cs
- NameTable.cs
- TextParagraphCache.cs
- ThrowHelper.cs
- Transform3DGroup.cs
- PipelineModuleStepContainer.cs
- Walker.cs
- Tablet.cs
- CommonGetThemePartSize.cs
- Int64.cs
- XmlTextWriter.cs
- ChildChangedEventArgs.cs
- DataControlExtensions.cs
- ClientSideProviderDescription.cs
- ArrayTypeMismatchException.cs
- ImageKeyConverter.cs
- WebCategoryAttribute.cs
- VisualTarget.cs
- Predicate.cs
- IERequestCache.cs
- XmlConvert.cs
- RegexTypeEditor.cs
- SequentialUshortCollection.cs
- NonPrimarySelectionGlyph.cs
- oledbmetadatacolumnnames.cs
- HasRunnableWorkflowEvent.cs
- TypeResolver.cs
- TextElement.cs