Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- DictionaryBase.cs
- HttpResponse.cs
- AlignmentXValidation.cs
- Polygon.cs
- CompositeControl.cs
- ValidationEventArgs.cs
- _DisconnectOverlappedAsyncResult.cs
- X509ScopedServiceCertificateElementCollection.cs
- WindowsButton.cs
- CodeCompileUnit.cs
- ShaderEffect.cs
- ColumnCollection.cs
- XPathEmptyIterator.cs
- AdPostCacheSubstitution.cs
- FreezableDefaultValueFactory.cs
- SQLBoolean.cs
- PerfService.cs
- TiffBitmapEncoder.cs
- Byte.cs
- SafeCoTaskMem.cs
- EventProxy.cs
- PlanCompilerUtil.cs
- SQLGuid.cs
- ThreadExceptionDialog.cs
- DataServices.cs
- LiteralTextContainerControlBuilder.cs
- DurableInstanceContextProvider.cs
- UnauthorizedWebPart.cs
- HandlerMappingMemo.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- ZoneMembershipCondition.cs
- CoreSwitches.cs
- QilPatternVisitor.cs
- CookielessHelper.cs
- NameValueSectionHandler.cs
- PolyLineSegment.cs
- TabControlAutomationPeer.cs
- SqlDataSourceView.cs
- DataGridViewLinkCell.cs
- RSAPKCS1SignatureDeformatter.cs
- Certificate.cs
- OperandQuery.cs
- DependencyPropertyHelper.cs
- MetadataException.cs
- StylusButtonEventArgs.cs
- NotifyInputEventArgs.cs
- LockCookie.cs
- WorkflowServiceInstance.cs
- UniqueConstraint.cs
- HttpHandlerAction.cs
- ImageAttributes.cs
- WebPartCancelEventArgs.cs
- OdbcConnectionOpen.cs
- CodeCatchClauseCollection.cs
- UnionExpr.cs
- SequenceDesigner.cs
- ToolBarButton.cs
- DictionaryGlobals.cs
- DocumentEventArgs.cs
- SqlConnectionHelper.cs
- DBParameter.cs
- KoreanLunisolarCalendar.cs
- DesigntimeLicenseContext.cs
- DockPatternIdentifiers.cs
- CodeLabeledStatement.cs
- DefaultPrintController.cs
- DbgCompiler.cs
- TypeConverterAttribute.cs
- HttpModuleCollection.cs
- NavigateEvent.cs
- X509ThumbprintKeyIdentifierClause.cs
- OAVariantLib.cs
- DoubleAnimationClockResource.cs
- StrongNameKeyPair.cs
- InheritanceContextChangedEventManager.cs
- QuadraticEase.cs
- StackBuilderSink.cs
- ObjectDataSourceEventArgs.cs
- CopyAction.cs
- WebHttpBindingElement.cs
- ZipIOCentralDirectoryFileHeader.cs
- StateManagedCollection.cs
- CallbackHandler.cs
- VirtualPath.cs
- XmlReader.cs
- OneToOneMappingSerializer.cs
- IdentityReference.cs
- MediaEntryAttribute.cs
- XmlEventCache.cs
- fixedPageContentExtractor.cs
- ErrorLog.cs
- PermissionSet.cs
- MaskedTextBoxDesigner.cs
- BinHexDecoder.cs
- ItemsPanelTemplate.cs
- VisualTreeFlattener.cs
- SqlDataSourceFilteringEventArgs.cs
- WindowsRichEditRange.cs
- WorkflowDefinitionDispenser.cs
- TdsParserSafeHandles.cs