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
- DragEvent.cs
- basemetadatamappingvisitor.cs
- WebServiceTypeData.cs
- InstanceHandleConflictException.cs
- Message.cs
- SocketStream.cs
- GridViewHeaderRowPresenter.cs
- MeasureItemEvent.cs
- CollectionTypeElement.cs
- XmlSignatureManifest.cs
- TreeNodeCollection.cs
- HorizontalAlignConverter.cs
- MarkedHighlightComponent.cs
- Int32CAMarshaler.cs
- DataGrid.cs
- Stream.cs
- NameTable.cs
- MimeReflector.cs
- XmlSiteMapProvider.cs
- RtfControls.cs
- KeyBinding.cs
- GACMembershipCondition.cs
- DataServiceRequest.cs
- StrongNameKeyPair.cs
- ForeignConstraint.cs
- TypeInitializationException.cs
- SQLString.cs
- XmlUnspecifiedAttribute.cs
- UpdateTranslator.cs
- FileDialog.cs
- MaskDescriptors.cs
- CodeSubDirectoriesCollection.cs
- DataGridHeaderBorder.cs
- StrongNameIdentityPermission.cs
- PolygonHotSpot.cs
- QuestionEventArgs.cs
- ToolStripDropDown.cs
- HtmlControl.cs
- ObjectManager.cs
- Literal.cs
- Repeater.cs
- CheckedListBox.cs
- Function.cs
- SafeNativeMethods.cs
- GeneralTransform3DGroup.cs
- DecoderReplacementFallback.cs
- TypeGeneratedEventArgs.cs
- ToolstripProfessionalRenderer.cs
- MatrixTransform.cs
- RawStylusInputCustomDataList.cs
- FuncCompletionCallbackWrapper.cs
- CopyNodeSetAction.cs
- SqlCommand.cs
- ThreadAttributes.cs
- InputProviderSite.cs
- HttpModulesSection.cs
- PopOutPanel.cs
- EventToken.cs
- WebPartVerb.cs
- PrintPreviewGraphics.cs
- Stroke.cs
- ChangeDirector.cs
- FlowchartDesignerCommands.cs
- XmlQualifiedName.cs
- Function.cs
- HttpRequestWrapper.cs
- SharedPersonalizationStateInfo.cs
- SafeMILHandle.cs
- WebBrowserNavigatingEventHandler.cs
- UmAlQuraCalendar.cs
- Util.cs
- ResXBuildProvider.cs
- TextEditorCharacters.cs
- WorkflowDesignerColors.cs
- TrackingDataItem.cs
- AppDomainUnloadedException.cs
- SQLBoolean.cs
- DesignerSerializationOptionsAttribute.cs
- UserNameSecurityTokenProvider.cs
- _ServiceNameStore.cs
- DrawListViewSubItemEventArgs.cs
- GiveFeedbackEventArgs.cs
- TextContainerChangedEventArgs.cs
- XmlWrappingReader.cs
- StaticSiteMapProvider.cs
- MouseGestureValueSerializer.cs
- MediaCommands.cs
- NativeMethods.cs
- ClientSettingsStore.cs
- ListViewItem.cs
- CfgParser.cs
- TypeToTreeConverter.cs
- EnumConverter.cs
- PageCanvasSize.cs
- TreeViewDataItemAutomationPeer.cs
- CodeGenerationManager.cs
- CopyOnWriteList.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- EmptyEnumerator.cs
- Util.cs