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
- CommandField.cs
- CodeCatchClauseCollection.cs
- ArgumentOutOfRangeException.cs
- EditableTreeList.cs
- NodeLabelEditEvent.cs
- Context.cs
- _SslStream.cs
- FixedHyperLink.cs
- ProcessStartInfo.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- ObjectDataSourceFilteringEventArgs.cs
- WindowsToolbarItemAsMenuItem.cs
- ExpressionNode.cs
- SizeValueSerializer.cs
- AnnotationAdorner.cs
- KeyTimeConverter.cs
- BitStack.cs
- CreateInstanceBinder.cs
- HttpDebugHandler.cs
- PrintPageEvent.cs
- BulletedList.cs
- Subset.cs
- SHA384Managed.cs
- Literal.cs
- System.Data_BID.cs
- BoolExpression.cs
- NonDualMessageSecurityOverHttp.cs
- EasingFunctionBase.cs
- HtmlForm.cs
- DataGridViewImageColumn.cs
- SiteOfOriginPart.cs
- _ListenerResponseStream.cs
- ConfigurationSettings.cs
- IgnorePropertiesAttribute.cs
- EventProviderWriter.cs
- XPathPatternBuilder.cs
- EventArgs.cs
- UITypeEditor.cs
- ToolStripContextMenu.cs
- LinearGradientBrush.cs
- ToolStripItem.cs
- KeyedPriorityQueue.cs
- StyleSheet.cs
- LockRenewalTask.cs
- NumericUpDownAcceleration.cs
- InternalConfigHost.cs
- DateTimeConstantAttribute.cs
- Grant.cs
- XmlUtil.cs
- Point.cs
- DataGridViewTopRowAccessibleObject.cs
- EdmEntityTypeAttribute.cs
- ChildDocumentBlock.cs
- ObjectPropertyMapping.cs
- XamlParser.cs
- WpfWebRequestHelper.cs
- CommentEmitter.cs
- XmlAnyElementAttributes.cs
- DbDataSourceEnumerator.cs
- MaskInputRejectedEventArgs.cs
- JavaScriptSerializer.cs
- PathTooLongException.cs
- CharEntityEncoderFallback.cs
- ResourceExpressionBuilder.cs
- XmlMapping.cs
- Empty.cs
- ScriptMethodAttribute.cs
- ColorMap.cs
- XmlSerializerAssemblyAttribute.cs
- FloatUtil.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- AsymmetricKeyExchangeFormatter.cs
- XhtmlCssHandler.cs
- Crc32.cs
- TableItemProviderWrapper.cs
- PermissionAttributes.cs
- ErrorStyle.cs
- BamlLocalizableResource.cs
- Parser.cs
- ToolStripItemImageRenderEventArgs.cs
- InvalidOleVariantTypeException.cs
- XmlnsDictionary.cs
- _RequestCacheProtocol.cs
- ColumnResizeUndoUnit.cs
- Permission.cs
- OleDbErrorCollection.cs
- DPTypeDescriptorContext.cs
- ActiveXSerializer.cs
- TemplateBuilder.cs
- DLinqTableProvider.cs
- IncrementalCompileAnalyzer.cs
- XamlPoint3DCollectionSerializer.cs
- InkCanvas.cs
- VirtualDirectoryMapping.cs
- ErrorsHelper.cs
- MarkedHighlightComponent.cs
- TypeInitializationException.cs
- Rotation3D.cs
- ArrayConverter.cs
- TextTreeObjectNode.cs