Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TrustSection.cs
- StatusStrip.cs
- HttpModulesSection.cs
- CodeAccessPermission.cs
- Panel.cs
- XamlPointCollectionSerializer.cs
- CodeDefaultValueExpression.cs
- TraceContextRecord.cs
- MultiPageTextView.cs
- AnimationClockResource.cs
- MachineKeySection.cs
- ToolStripTextBox.cs
- AttachedAnnotation.cs
- CodePageUtils.cs
- EdmPropertyAttribute.cs
- GenericRootAutomationPeer.cs
- basemetadatamappingvisitor.cs
- ViewPort3D.cs
- SettingsAttributeDictionary.cs
- ProvidersHelper.cs
- FieldAccessException.cs
- FormViewDeleteEventArgs.cs
- TraceInternal.cs
- EntityDataSourceDataSelectionPanel.cs
- ColorContext.cs
- ToggleButton.cs
- ProxyAttribute.cs
- MethodSignatureGenerator.cs
- EventMappingSettingsCollection.cs
- ConfigXmlElement.cs
- NominalTypeEliminator.cs
- TraceInternal.cs
- DiscoveryMessageSequenceGenerator.cs
- MessageDecoder.cs
- CatalogZoneBase.cs
- CreateUserWizard.cs
- TriggerBase.cs
- InkCanvasSelection.cs
- ApplicationInterop.cs
- DocumentScope.cs
- MobileListItem.cs
- __Filters.cs
- TableRow.cs
- RegexInterpreter.cs
- basecomparevalidator.cs
- AutomationPattern.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- FileSecurity.cs
- Utils.cs
- oledbconnectionstring.cs
- UInt32.cs
- TextCharacters.cs
- ListDictionary.cs
- SystemResourceKey.cs
- WebServiceErrorEvent.cs
- TracedNativeMethods.cs
- TransactedBatchingBehavior.cs
- ComplexObject.cs
- CodeTypeParameter.cs
- TreeNodeBindingDepthConverter.cs
- BamlMapTable.cs
- TabletCollection.cs
- AttachedAnnotation.cs
- PingOptions.cs
- ServiceModelSectionGroup.cs
- SqlCacheDependency.cs
- ObjectViewFactory.cs
- AxImporter.cs
- ReadWriteObjectLock.cs
- securestring.cs
- DeferredReference.cs
- TextLine.cs
- ToolStripManager.cs
- TransformedBitmap.cs
- DropDownList.cs
- WebPartAuthorizationEventArgs.cs
- XamlPointCollectionSerializer.cs
- ProfilePropertySettingsCollection.cs
- SqlProcedureAttribute.cs
- fixedPageContentExtractor.cs
- FormsAuthentication.cs
- PeerNameResolver.cs
- GetWinFXPath.cs
- ChannelSinkStacks.cs
- FontStretches.cs
- ActivationServices.cs
- UserNameSecurityTokenAuthenticator.cs
- _SSPISessionCache.cs
- EventArgs.cs
- ProjectedSlot.cs
- SchemaAttDef.cs
- MsmqProcessProtocolHandler.cs
- HierarchicalDataSourceConverter.cs
- DbConnectionPoolCounters.cs
- mansign.cs
- EntityTypeEmitter.cs
- CompressedStack.cs
- PenThread.cs
- ImageConverter.cs
- ObjectHandle.cs