Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Utility / TraceLog.cs / 1 / TraceLog.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Log of recent actions. Use this to debug those nasty problems // that don't repro on demand and don't have enough information in a crash // dump. // // In the class(es) of interest, add a TraceLog object. At points of // interest, call TraceLog.Add to record a string in the log. After the // crash, call TraceLog.WriteLog (or simply examine the log directly in // the debugger). Log entries are timestamped. // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Globalization; namespace MS.Internal.Utility { internal class TraceLog { // create an unbounded trace log internal TraceLog() : this(Int32.MaxValue) {} // create a trace log that remembers the last 'size' actions internal TraceLog(int size) { _size = size; _log = new ArrayList(); } // add an entry to the log. Args are just like String.Format internal void Add(string message, params object[] args) { // create timestamped message string string s = DateTime.Now.Ticks.ToString(CultureInfo.InvariantCulture) + " " + String.Format(CultureInfo.InvariantCulture, message, args); // if log is full, discard the oldest message if (_log.Count == _size) _log.RemoveAt(0); // add the new message _log.Add(s); } // write the log to the console internal void WriteLog() { for (int k=0; k<_log.Count; ++k) Console.WriteLine(_log[k]); } // return a printable id for the object internal static string IdFor(object o) { if (o == null) return "NULL"; else return String.Format(CultureInfo.InvariantCulture, "{0}.{1}", o.GetType().Name, o.GetHashCode()); } ArrayList _log; int _size; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlCodeDomSerializer.cs
- ClientFactory.cs
- GcHandle.cs
- SiteMap.cs
- PropertyCollection.cs
- BufferAllocator.cs
- WindowsTab.cs
- ErrorWebPart.cs
- SqlStream.cs
- EqualityComparer.cs
- PKCS1MaskGenerationMethod.cs
- EntityConnection.cs
- EntityViewGenerationConstants.cs
- WebPartsPersonalization.cs
- ElementMarkupObject.cs
- XmlSignatureProperties.cs
- CodePageUtils.cs
- RequestQueryParser.cs
- TraceContextEventArgs.cs
- DomainUpDown.cs
- MemoryFailPoint.cs
- XmlDataSourceView.cs
- ContentControl.cs
- Missing.cs
- WindowsSpinner.cs
- Int32CollectionConverter.cs
- DbReferenceCollection.cs
- HybridWebProxyFinder.cs
- InfoCardClaimCollection.cs
- MulticastOption.cs
- TextFormatterImp.cs
- DynamicField.cs
- SchemaNotation.cs
- ProxyFragment.cs
- XmlException.cs
- CodeTypeReferenceExpression.cs
- DecimalAnimation.cs
- ListBindingConverter.cs
- CalendarDataBindingHandler.cs
- NonParentingControl.cs
- ListParaClient.cs
- RecognitionEventArgs.cs
- PrincipalPermission.cs
- CapabilitiesSection.cs
- SamlDelegatingWriter.cs
- TimeoutException.cs
- SqlDataSourceFilteringEventArgs.cs
- BlurBitmapEffect.cs
- DiffuseMaterial.cs
- ResourceExpressionEditor.cs
- DataGridItemEventArgs.cs
- MenuItem.cs
- DoubleCollectionValueSerializer.cs
- StateElementCollection.cs
- SimpleHandlerFactory.cs
- SynchronousChannel.cs
- _DomainName.cs
- ZipIOCentralDirectoryFileHeader.cs
- ScaleTransform.cs
- EmptyReadOnlyDictionaryInternal.cs
- WindowsContainer.cs
- SQLMembershipProvider.cs
- HtmlTableCell.cs
- IISUnsafeMethods.cs
- FileDetails.cs
- PersonalizablePropertyEntry.cs
- LineServicesRun.cs
- DataGridCaption.cs
- UmAlQuraCalendar.cs
- InteropAutomationProvider.cs
- DataBinding.cs
- TransactedBatchContext.cs
- SqlRowUpdatingEvent.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- Win32.cs
- ProtocolsConfigurationEntry.cs
- ValueType.cs
- LinkUtilities.cs
- CompareInfo.cs
- TreeViewImageKeyConverter.cs
- SimpleTextLine.cs
- DbModificationCommandTree.cs
- WebPartCloseVerb.cs
- _SslSessionsCache.cs
- DescendantBaseQuery.cs
- ResourceReferenceExpression.cs
- TrackingProfileDeserializationException.cs
- Blend.cs
- JsonDataContract.cs
- MatrixCamera.cs
- CookielessData.cs
- SynchronizedInputPattern.cs
- BrowsableAttribute.cs
- PersonalizationProviderCollection.cs
- _CacheStreams.cs
- ProgressBarAutomationPeer.cs
- _BasicClient.cs
- NavigationService.cs
- WebPartHelpVerb.cs
- TemplateBindingExtensionConverter.cs