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
- TextEditorLists.cs
- MainMenu.cs
- ProcessModelInfo.cs
- PropertyChangedEventManager.cs
- ByeMessageCD1.cs
- MediaCommands.cs
- EncryptedKey.cs
- Input.cs
- ReadOnlyCollection.cs
- FileStream.cs
- DirectoryObjectSecurity.cs
- ProxyWebPartConnectionCollection.cs
- XmlName.cs
- ExceptionUtil.cs
- DoubleCollectionConverter.cs
- StringConverter.cs
- PermissionRequestEvidence.cs
- PathStreamGeometryContext.cs
- Accessible.cs
- exports.cs
- NativeMethods.cs
- MdImport.cs
- DrawingDrawingContext.cs
- TemplateControl.cs
- ListControl.cs
- XmlNode.cs
- sqlmetadatafactory.cs
- WebPartMinimizeVerb.cs
- DeviceFilterDictionary.cs
- IssuanceLicense.cs
- FaultContext.cs
- OracleConnectionString.cs
- TaskResultSetter.cs
- HWStack.cs
- DocumentViewerHelper.cs
- Composition.cs
- MasterPageCodeDomTreeGenerator.cs
- TrackingStringDictionary.cs
- CanonicalXml.cs
- NamedPipeTransportBindingElement.cs
- XmlILModule.cs
- DynamicRendererThreadManager.cs
- PersonalizationEntry.cs
- ResourceDictionary.cs
- SafeNativeMethodsMilCoreApi.cs
- ProgressBar.cs
- AttributeInfo.cs
- HtmlFormParameterWriter.cs
- MemoryRecordBuffer.cs
- XmlElementAttributes.cs
- FunctionCommandText.cs
- BadImageFormatException.cs
- PolicyUtility.cs
- DataGridRowHeader.cs
- KeyNotFoundException.cs
- MarkupCompilePass1.cs
- ExpressionStringBuilder.cs
- TableMethodGenerator.cs
- SpellerStatusTable.cs
- PtsPage.cs
- Single.cs
- Size3DValueSerializer.cs
- ResourcePermissionBaseEntry.cs
- ContractMapping.cs
- PathNode.cs
- TreeWalkHelper.cs
- TemplateXamlParser.cs
- OutputCacheProviderCollection.cs
- OLEDB_Util.cs
- ImportCatalogPart.cs
- KoreanLunisolarCalendar.cs
- WebPartMovingEventArgs.cs
- BitmapEffectGeneralTransform.cs
- DeploymentSection.cs
- IsolatedStorage.cs
- DataServiceQueryProvider.cs
- XPathChildIterator.cs
- LayoutUtils.cs
- CustomCategoryAttribute.cs
- CommandConverter.cs
- TemplatePartAttribute.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- FormViewDeleteEventArgs.cs
- MessageQueueTransaction.cs
- UpdatePanelTrigger.cs
- UnsignedPublishLicense.cs
- SubclassTypeValidator.cs
- NonSerializedAttribute.cs
- Cloud.cs
- DbCommandDefinition.cs
- Substitution.cs
- AppDomainFactory.cs
- DefinitionBase.cs
- CommonXSendMessage.cs
- CompilerErrorCollection.cs
- designeractionlistschangedeventargs.cs
- TimeSpanConverter.cs
- OletxDependentTransaction.cs
- AdornerHitTestResult.cs
- CodeIdentifiers.cs