Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LambdaCompiler.cs
- FtpRequestCacheValidator.cs
- MeasurementDCInfo.cs
- ObjectContext.cs
- DateTimeConverter2.cs
- PartialCachingAttribute.cs
- ADMembershipUser.cs
- SecurityTraceRecordHelper.cs
- DataListComponentEditor.cs
- PreProcessor.cs
- WorkflowMarkupSerializationException.cs
- BindingCollection.cs
- ImageListStreamer.cs
- ByteConverter.cs
- FixUp.cs
- XsdBuilder.cs
- WindowsSecurityToken.cs
- Expressions.cs
- CodeCastExpression.cs
- PrintingPermissionAttribute.cs
- ReachDocumentSequenceSerializer.cs
- SafeMILHandle.cs
- ComponentEditorForm.cs
- XmlArrayAttribute.cs
- DiscoveryMessageSequenceCD1.cs
- SystemResourceHost.cs
- Module.cs
- SafeRightsManagementEnvironmentHandle.cs
- DateTimeFormatInfo.cs
- ASCIIEncoding.cs
- PresentationTraceSources.cs
- ProtocolElement.cs
- XmlBinaryReader.cs
- ResourceExpressionEditorSheet.cs
- DropShadowBitmapEffect.cs
- X509ChainPolicy.cs
- CommandLineParser.cs
- HebrewCalendar.cs
- ProfileParameter.cs
- ToolStripTextBox.cs
- SecurityPolicySection.cs
- PlaceHolder.cs
- Pen.cs
- MenuDesigner.cs
- DrawingDrawingContext.cs
- TypeLoader.cs
- Triplet.cs
- Color.cs
- clipboard.cs
- SspiNegotiationTokenProvider.cs
- HttpsTransportBindingElement.cs
- InputLangChangeRequestEvent.cs
- ObjectList.cs
- DbProviderFactory.cs
- SplineKeyFrames.cs
- ToolStripProgressBar.cs
- ApplicationFileParser.cs
- StaticDataManager.cs
- XmlNodeComparer.cs
- EncoderParameters.cs
- XmlCustomFormatter.cs
- MenuItemBinding.cs
- PropertyKey.cs
- GuidTagList.cs
- GenericTextProperties.cs
- EncodingDataItem.cs
- ComponentDesigner.cs
- PermissionSet.cs
- WebHeaderCollection.cs
- XPathDescendantIterator.cs
- RemoveStoryboard.cs
- FunctionQuery.cs
- CodeTypeReferenceCollection.cs
- AllMembershipCondition.cs
- HttpContext.cs
- EntitySqlQueryCacheEntry.cs
- KeyedQueue.cs
- ServerReliableChannelBinder.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- FixedSOMTextRun.cs
- WebEventTraceProvider.cs
- CodeIdentifier.cs
- RoleManagerSection.cs
- OuterGlowBitmapEffect.cs
- StringUtil.cs
- ViewUtilities.cs
- SetUserPreferenceRequest.cs
- DrawingGroup.cs
- SQLResource.cs
- BookmarkEventArgs.cs
- ToolStripScrollButton.cs
- XMLUtil.cs
- WS2007FederationHttpBindingCollectionElement.cs
- EntityDataSource.cs
- VoiceChangeEventArgs.cs
- CqlErrorHelper.cs
- NativeCompoundFileAPIs.cs
- ObjectDataSourceMethodEventArgs.cs
- Font.cs
- HtmlElement.cs