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
- BamlCollectionHolder.cs
- SelectionRangeConverter.cs
- ClassDataContract.cs
- CompilerWrapper.cs
- RepeaterCommandEventArgs.cs
- TypeConverterHelper.cs
- TextEditorMouse.cs
- Effect.cs
- TTSEngineProxy.cs
- BehaviorEditorPart.cs
- CheckBoxField.cs
- Utils.cs
- StringBlob.cs
- ParameterModifier.cs
- HttpChannelBindingToken.cs
- FormsIdentity.cs
- CodeDirectoryCompiler.cs
- RegularExpressionValidator.cs
- CreatingCookieEventArgs.cs
- DateTimeSerializationSection.cs
- OracleCommandBuilder.cs
- DocumentGridPage.cs
- CompositeCollection.cs
- AttributeInfo.cs
- Task.cs
- Action.cs
- TableLayoutCellPaintEventArgs.cs
- TreeNode.cs
- HandlerMappingMemo.cs
- QueryParameter.cs
- XmlDownloadManager.cs
- InstanceStore.cs
- PersonalizableTypeEntry.cs
- ObjectItemAssemblyLoader.cs
- FtpWebResponse.cs
- FamilyTypefaceCollection.cs
- ExpressionBuilderContext.cs
- exports.cs
- ExpressionBuilder.cs
- UidManager.cs
- RequestNavigateEventArgs.cs
- ParseElementCollection.cs
- ListManagerBindingsCollection.cs
- ImageMapEventArgs.cs
- XmlReaderSettings.cs
- Nodes.cs
- TypeConverterAttribute.cs
- InvalidOleVariantTypeException.cs
- ProcessHost.cs
- BevelBitmapEffect.cs
- RootContext.cs
- SystemUnicastIPAddressInformation.cs
- Rotation3DAnimationUsingKeyFrames.cs
- CounterCreationDataConverter.cs
- InstallerTypeAttribute.cs
- TraceListener.cs
- SizeIndependentAnimationStorage.cs
- CircleHotSpot.cs
- TypedTableBase.cs
- FunctionQuery.cs
- XmlValidatingReaderImpl.cs
- PackageFilter.cs
- Cursors.cs
- DesignerDataView.cs
- RegisteredHiddenField.cs
- DesignConnection.cs
- DataGridViewTopRowAccessibleObject.cs
- SafeMarshalContext.cs
- ColorBlend.cs
- StatusBarPanelClickEvent.cs
- MDIClient.cs
- ConsoleTraceListener.cs
- Dispatcher.cs
- UserControlParser.cs
- ContextMenu.cs
- WindowsFormsHelpers.cs
- DataSourceCacheDurationConverter.cs
- TextElementEditingBehaviorAttribute.cs
- RIPEMD160Managed.cs
- TemplatePartAttribute.cs
- StrongNameMembershipCondition.cs
- DependencyPropertyHelper.cs
- WpfSharedBamlSchemaContext.cs
- AppDomainAttributes.cs
- ToolStripItem.cs
- ContextDataSource.cs
- WindowsStartMenu.cs
- TextLineResult.cs
- TextElement.cs
- WebPartZoneCollection.cs
- FormViewCommandEventArgs.cs
- HtmlHead.cs
- BoolExpressionVisitors.cs
- MultiDataTrigger.cs
- RenamedEventArgs.cs
- OdbcUtils.cs
- DesignerTransactionCloseEvent.cs
- XdrBuilder.cs
- AutomationPattern.cs
- EmptyArray.cs