Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- DiagnosticSection.cs
- TextEncodedRawTextWriter.cs
- AsymmetricSignatureDeformatter.cs
- HtmlMobileTextWriter.cs
- TextTreePropertyUndoUnit.cs
- UIElement3D.cs
- LogSwitch.cs
- OutputScope.cs
- InstanceDescriptor.cs
- XPathDocumentIterator.cs
- DataSourceConverter.cs
- WebColorConverter.cs
- SymbolMethod.cs
- RangeValidator.cs
- Brush.cs
- RoleManagerSection.cs
- SwitchCase.cs
- ProtocolsSection.cs
- SectionInformation.cs
- SspiWrapper.cs
- DelegatingTypeDescriptionProvider.cs
- XmlChoiceIdentifierAttribute.cs
- DataBoundControlHelper.cs
- FormsAuthentication.cs
- EntityDataSourceEntitySetNameItem.cs
- WebPartDeleteVerb.cs
- TimeSpanStorage.cs
- StylusPointPropertyId.cs
- DictionarySectionHandler.cs
- Cursor.cs
- IsolatedStorageFile.cs
- UrlAuthFailedErrorFormatter.cs
- VerifyHashRequest.cs
- CodeTypeDelegate.cs
- XPathAncestorQuery.cs
- ApplicationContext.cs
- WaitHandleCannotBeOpenedException.cs
- Object.cs
- ConnectionInterfaceCollection.cs
- WinEventQueueItem.cs
- Vertex.cs
- DataGridViewRowEventArgs.cs
- ServiceContractDetailViewControl.cs
- TextDecoration.cs
- XmlSchemaAnyAttribute.cs
- HtmlTitle.cs
- EarlyBoundInfo.cs
- ActiveXHelper.cs
- SQLGuid.cs
- AppSecurityManager.cs
- EditorZone.cs
- HTTPNotFoundHandler.cs
- DataGridViewCellConverter.cs
- TextView.cs
- RouteData.cs
- AbandonedMutexException.cs
- ExtensibleClassFactory.cs
- SubclassTypeValidator.cs
- SelectionEditingBehavior.cs
- HitTestWithGeometryDrawingContextWalker.cs
- RoutedUICommand.cs
- ChildDocumentBlock.cs
- PageEventArgs.cs
- JavaScriptObjectDeserializer.cs
- Baml2006KeyRecord.cs
- DisplayInformation.cs
- HttpProfileGroupBase.cs
- ProfileBuildProvider.cs
- HttpPostClientProtocol.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- TransformPatternIdentifiers.cs
- MetadataImporter.cs
- FormsAuthenticationEventArgs.cs
- ProtocolsConfigurationHandler.cs
- NotifyParentPropertyAttribute.cs
- WindowProviderWrapper.cs
- StructuralComparisons.cs
- SeverityFilter.cs
- Enlistment.cs
- GridViewAutomationPeer.cs
- CompositeActivityMarkupSerializer.cs
- UIElement3DAutomationPeer.cs
- ScrollItemPattern.cs
- BinaryFormatterWriter.cs
- NegationPusher.cs
- DropSourceBehavior.cs
- InvokePattern.cs
- MemoryPressure.cs
- ControlBuilderAttribute.cs
- HasCopySemanticsAttribute.cs
- FormatConvertedBitmap.cs
- DynamicEntity.cs
- WebPartMovingEventArgs.cs
- RoutingChannelExtension.cs
- EdmFunction.cs
- FullTextState.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- EntryPointNotFoundException.cs
- MailHeaderInfo.cs
- OpCopier.cs