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
- XmlSchemaType.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- _MultipleConnectAsync.cs
- FormDesigner.cs
- HttpModuleActionCollection.cs
- EntityDataSourceMemberPath.cs
- TreeNode.cs
- PropertyMap.cs
- GridViewColumnCollection.cs
- ChannelBase.cs
- log.cs
- DiagnosticsConfigurationHandler.cs
- DispatcherExceptionFilterEventArgs.cs
- AlternateView.cs
- StateMachineWorkflowDesigner.cs
- ChunkedMemoryStream.cs
- TextEditorLists.cs
- _SslState.cs
- IDReferencePropertyAttribute.cs
- X509IssuerSerialKeyIdentifierClause.cs
- RequestQueryProcessor.cs
- StreamGeometryContext.cs
- BulletedListDesigner.cs
- ConnectionPointCookie.cs
- EdmComplexPropertyAttribute.cs
- TextDocumentView.cs
- AnnotationAdorner.cs
- SqlDataAdapter.cs
- Matrix3DConverter.cs
- ButtonFlatAdapter.cs
- FontStyle.cs
- TextEditorCopyPaste.cs
- SqlCommand.cs
- CaseInsensitiveComparer.cs
- SafeSecurityHelper.cs
- BypassElement.cs
- PEFileEvidenceFactory.cs
- WorkflowQueueInfo.cs
- EDesignUtil.cs
- StringResourceManager.cs
- WindowsGraphics.cs
- Substitution.cs
- DynamicDataResources.Designer.cs
- ImmComposition.cs
- TypeValidationEventArgs.cs
- XPathPatternBuilder.cs
- BamlStream.cs
- DelimitedListTraceListener.cs
- ActionMessageFilter.cs
- XmlSerializerSection.cs
- DbDataReader.cs
- ScriptDescriptor.cs
- WindowsAuthenticationEventArgs.cs
- TargetConverter.cs
- ClientScriptManagerWrapper.cs
- Zone.cs
- EntityViewContainer.cs
- SimpleApplicationHost.cs
- OleDbError.cs
- CounterSetInstance.cs
- HtmlTableRow.cs
- PtsHelper.cs
- MessageHeaderDescription.cs
- CqlParser.cs
- RequestCachePolicyConverter.cs
- ActivityContext.cs
- GatewayIPAddressInformationCollection.cs
- DesignerListAdapter.cs
- IISUnsafeMethods.cs
- XsdCachingReader.cs
- AudienceUriMode.cs
- SQLString.cs
- MasterPageBuildProvider.cs
- SqlFunctionAttribute.cs
- SrgsDocument.cs
- TrackingAnnotationCollection.cs
- DateTimeConverter2.cs
- ServiceNotStartedException.cs
- MemoryFailPoint.cs
- StrokeFIndices.cs
- BasicCommandTreeVisitor.cs
- LinkedResourceCollection.cs
- NotImplementedException.cs
- List.cs
- ByteStreamGeometryContext.cs
- ConfigurationSection.cs
- CodeDelegateInvokeExpression.cs
- RequestNavigateEventArgs.cs
- _ListenerRequestStream.cs
- MULTI_QI.cs
- Win32PrintDialog.cs
- DataBinder.cs
- XmlSiteMapProvider.cs
- NetMsmqBindingCollectionElement.cs
- OletxCommittableTransaction.cs
- BindableTemplateBuilder.cs
- TextElement.cs
- DataTableMapping.cs
- SqlConnectionPoolProviderInfo.cs
- AddingNewEventArgs.cs