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
- WebServiceEnumData.cs
- InternalCache.cs
- BindableTemplateBuilder.cs
- QueueAccessMode.cs
- ScriptResourceInfo.cs
- NativeCppClassAttribute.cs
- CacheEntry.cs
- AttributedMetaModel.cs
- ExpressionBindingCollection.cs
- MenuRendererClassic.cs
- IResourceProvider.cs
- AmbientValueAttribute.cs
- MetadataArtifactLoaderFile.cs
- metadatamappinghashervisitor.cs
- QualifiedId.cs
- ConfigPathUtility.cs
- DelimitedListTraceListener.cs
- TypeUsage.cs
- KeyNotFoundException.cs
- XamlInt32CollectionSerializer.cs
- BaseResourcesBuildProvider.cs
- UserUseLicenseDictionaryLoader.cs
- _Events.cs
- UserNameSecurityTokenAuthenticator.cs
- PackageStore.cs
- WindowPattern.cs
- DoubleAnimationClockResource.cs
- CheckBoxPopupAdapter.cs
- TimerEventSubscription.cs
- Constraint.cs
- MimeWriter.cs
- ItemsPresenter.cs
- TrayIconDesigner.cs
- AutomationFocusChangedEventArgs.cs
- OptimalTextSource.cs
- XmlLanguageConverter.cs
- XMLSchema.cs
- DependencyPropertyKind.cs
- TextParagraphCache.cs
- DropShadowBitmapEffect.cs
- EndPoint.cs
- CachedPathData.cs
- TextModifierScope.cs
- NativeMethods.cs
- Tile.cs
- StateElementCollection.cs
- MethodBody.cs
- BufferBuilder.cs
- Timer.cs
- ServerIdentity.cs
- WindowsAuthenticationEventArgs.cs
- ReadOnlyDictionary.cs
- Trigger.cs
- CardSpaceException.cs
- VectorCollection.cs
- TextSearch.cs
- assertwrapper.cs
- ListSortDescription.cs
- HttpListenerException.cs
- HtmlDocument.cs
- LoginUtil.cs
- HttpListenerPrefixCollection.cs
- SettingsSection.cs
- ModelItemDictionaryImpl.cs
- XmlNamespaceManager.cs
- HtmlTable.cs
- WindowsTokenRoleProvider.cs
- RefreshEventArgs.cs
- SmtpNegotiateAuthenticationModule.cs
- WpfPayload.cs
- KnowledgeBase.cs
- XhtmlConformanceSection.cs
- GiveFeedbackEvent.cs
- SignatureHelper.cs
- TimelineGroup.cs
- JsonClassDataContract.cs
- SqlUtils.cs
- ViewCellSlot.cs
- ThreadStartException.cs
- XmlCodeExporter.cs
- InstanceCompleteException.cs
- QuotedStringFormatReader.cs
- SyndicationElementExtensionCollection.cs
- WorkflowOperationErrorHandler.cs
- ProxyWebPartManager.cs
- FontFamilyValueSerializer.cs
- ContextMenuStrip.cs
- TreeNodeCollectionEditorDialog.cs
- StringArrayConverter.cs
- TextAutomationPeer.cs
- PersonalizationEntry.cs
- DbDataSourceEnumerator.cs
- DeclarativeCatalogPart.cs
- DesignerInterfaces.cs
- LoginView.cs
- ListSortDescriptionCollection.cs
- SimpleApplicationHost.cs
- TTSEngineTypes.cs
- ProvidePropertyAttribute.cs
- WebPartDescriptionCollection.cs