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
- EntityDataSourceWrapper.cs
- Merger.cs
- Int32Converter.cs
- ComponentSerializationService.cs
- RoutingSection.cs
- filewebresponse.cs
- PnrpPermission.cs
- NativeMsmqMessage.cs
- SecurityTokenValidationException.cs
- EntitySqlQueryState.cs
- PrintEvent.cs
- SqlDataReaderSmi.cs
- ValidationSummary.cs
- UrlEncodedParameterWriter.cs
- RegexCapture.cs
- Compilation.cs
- NativeWindow.cs
- VariableQuery.cs
- ClickablePoint.cs
- EdmComplexPropertyAttribute.cs
- EditCommandColumn.cs
- DecoderFallbackWithFailureFlag.cs
- ExceptionValidationRule.cs
- XmlMapping.cs
- ProviderIncompatibleException.cs
- VectorKeyFrameCollection.cs
- ListItemParagraph.cs
- PrinterResolution.cs
- FileSystemEventArgs.cs
- HttpResponseBase.cs
- DefaultObjectMappingItemCollection.cs
- StrongNamePublicKeyBlob.cs
- DataGridTextColumn.cs
- MarshalDirectiveException.cs
- XPathItem.cs
- VirtualizedItemProviderWrapper.cs
- AudioFileOut.cs
- _Rfc2616CacheValidators.cs
- EncodingDataItem.cs
- GZipStream.cs
- TextProviderWrapper.cs
- GlobalizationAssembly.cs
- FlowSwitchDesigner.xaml.cs
- CollectionBuilder.cs
- Parsers.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DataGridColumnFloatingHeader.cs
- DelegatingChannelListener.cs
- FormViewCommandEventArgs.cs
- PngBitmapEncoder.cs
- UriExt.cs
- SendMailErrorEventArgs.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- KnownBoxes.cs
- XamlClipboardData.cs
- AxWrapperGen.cs
- OracleDateTime.cs
- DataTableExtensions.cs
- ContainerControlDesigner.cs
- Compiler.cs
- __ConsoleStream.cs
- UInt32.cs
- _Semaphore.cs
- ipaddressinformationcollection.cs
- IteratorFilter.cs
- RemoteCryptoSignHashRequest.cs
- SecurityTokenResolver.cs
- TableParagraph.cs
- TextEditorSpelling.cs
- ByteStack.cs
- GregorianCalendarHelper.cs
- ComPlusTypeValidator.cs
- ListViewUpdateEventArgs.cs
- DistinctQueryOperator.cs
- NetworkAddressChange.cs
- InkCanvasAutomationPeer.cs
- EpmContentSerializer.cs
- UserMapPath.cs
- Point3DKeyFrameCollection.cs
- MsmqTransportReceiveParameters.cs
- BuildManagerHost.cs
- Rotation3DAnimationBase.cs
- TraceFilter.cs
- ComplexObject.cs
- ReversePositionQuery.cs
- FormViewInsertEventArgs.cs
- ConvertersCollection.cs
- TableLayoutSettingsTypeConverter.cs
- Lazy.cs
- D3DImage.cs
- TraceEventCache.cs
- Attributes.cs
- Thread.cs
- Baml2006KnownTypes.cs
- ApplicationSecurityInfo.cs
- ButtonBaseAdapter.cs
- ListViewContainer.cs
- BuilderElements.cs
- Win32SafeHandles.cs
- StylusPointPropertyUnit.cs