Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Diagnostics / DelimitedListTraceListener.cs / 1305376 / 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
- ExcludeFromCodeCoverageAttribute.cs
- DataGridRelationshipRow.cs
- ClientCultureInfo.cs
- GridPattern.cs
- IdentifierService.cs
- DataGridViewLinkCell.cs
- ReferencedCollectionType.cs
- IdentityHolder.cs
- ThreadPoolTaskScheduler.cs
- DataGridCheckBoxColumn.cs
- _SslState.cs
- ResXBuildProvider.cs
- SiteMapDesignerDataSourceView.cs
- SqlDataSourceCustomCommandEditor.cs
- InstanceDataCollection.cs
- TextFormatter.cs
- ListItemDetailViewAttribute.cs
- TaiwanCalendar.cs
- IRCollection.cs
- IntegerValidator.cs
- ToolStripRendererSwitcher.cs
- ETagAttribute.cs
- EmissiveMaterial.cs
- LineGeometry.cs
- SamlDelegatingWriter.cs
- WebSysDisplayNameAttribute.cs
- SchemaImporterExtension.cs
- Size.cs
- LinqDataSourceSelectEventArgs.cs
- MDIClient.cs
- PaperSource.cs
- SHA1Managed.cs
- SamlAttributeStatement.cs
- GlobalizationSection.cs
- TypeInitializationException.cs
- ObjectListCommandEventArgs.cs
- WorkflowApplicationCompletedEventArgs.cs
- MetafileHeaderWmf.cs
- WsatExtendedInformation.cs
- IImplicitResourceProvider.cs
- designeractionlistschangedeventargs.cs
- TimeSpan.cs
- ExpressionParser.cs
- grammarelement.cs
- SpoolingTask.cs
- ElementNotAvailableException.cs
- CodeEntryPointMethod.cs
- PageHandlerFactory.cs
- FileDialogCustomPlacesCollection.cs
- StatusBarItem.cs
- SaveWorkflowAsyncResult.cs
- TreeBuilderBamlTranslator.cs
- EncodingInfo.cs
- MdiWindowListStrip.cs
- HandlerBase.cs
- ComPersistableTypeElementCollection.cs
- BitmapData.cs
- Rotation3DKeyFrameCollection.cs
- UserUseLicenseDictionaryLoader.cs
- WmfPlaceableFileHeader.cs
- Html32TextWriter.cs
- TransformGroup.cs
- TreeView.cs
- PeerContact.cs
- Base64Encoder.cs
- Inflater.cs
- ApplicationServiceManager.cs
- DataGridViewCellStyle.cs
- Module.cs
- FixedTextContainer.cs
- COM2PictureConverter.cs
- DbConnectionStringCommon.cs
- WebPartsSection.cs
- ValidatingReaderNodeData.cs
- TextRunProperties.cs
- Misc.cs
- AdapterDictionary.cs
- AttributeConverter.cs
- StringArrayConverter.cs
- TextEndOfParagraph.cs
- XmlBufferReader.cs
- ListViewInsertEventArgs.cs
- InfoCardServiceInstallComponent.cs
- Metadata.cs
- BindStream.cs
- Graph.cs
- SettingsPropertyIsReadOnlyException.cs
- LockCookie.cs
- Separator.cs
- ProvideValueServiceProvider.cs
- SelectionProviderWrapper.cs
- CodeIdentifier.cs
- Aggregates.cs
- BitmapEditor.cs
- CreateUserErrorEventArgs.cs
- ToolStripDropTargetManager.cs
- WindowsTreeView.cs
- StylusPlugin.cs
- InstanceContext.cs
- Quaternion.cs