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
- SByteStorage.cs
- DayRenderEvent.cs
- DeclarativeConditionsCollection.cs
- TrailingSpaceComparer.cs
- DecoderReplacementFallback.cs
- WindowsListViewGroup.cs
- OrCondition.cs
- ListParaClient.cs
- ButtonFlatAdapter.cs
- XmlMessageFormatter.cs
- __TransparentProxy.cs
- UpdateProgress.cs
- CodeCastExpression.cs
- XmlSchemaDocumentation.cs
- FloaterBaseParagraph.cs
- DrawingCollection.cs
- BinHexEncoder.cs
- CodeDomConfigurationHandler.cs
- UpdatePanel.cs
- RowTypePropertyElement.cs
- NetworkInformationException.cs
- VolatileEnlistmentState.cs
- HttpWrapper.cs
- Rectangle.cs
- EntitySet.cs
- ScalarType.cs
- GridViewRowPresenterBase.cs
- XmlSiteMapProvider.cs
- Command.cs
- SqlBuffer.cs
- PropertiesTab.cs
- SystemNetworkInterface.cs
- SettingsProperty.cs
- WebPartCollection.cs
- DesignerGeometryHelper.cs
- BindableTemplateBuilder.cs
- EventBookmark.cs
- CodeMemberEvent.cs
- SHA1Managed.cs
- DurableInstanceManager.cs
- COM2Enum.cs
- PageStatePersister.cs
- SoapElementAttribute.cs
- XmlNodeComparer.cs
- SqlDataSourceCache.cs
- controlskin.cs
- Propagator.ExtentPlaceholderCreator.cs
- XmlMemberMapping.cs
- CSharpCodeProvider.cs
- FontStretch.cs
- BitmapImage.cs
- SmiRequestExecutor.cs
- MessageSmuggler.cs
- TextWriterTraceListener.cs
- Command.cs
- TableAdapterManagerGenerator.cs
- TempFiles.cs
- NamedPipeActivation.cs
- TextBoxBase.cs
- CompositeFontParser.cs
- DbExpressionVisitor_TResultType.cs
- TokenizerHelper.cs
- SemanticValue.cs
- Win32MouseDevice.cs
- GraphicsPath.cs
- TreeViewImageKeyConverter.cs
- TextTreeTextNode.cs
- Matrix3D.cs
- safex509handles.cs
- QueueSurrogate.cs
- KnownAssemblyEntry.cs
- ExpressionUtilities.cs
- TypeUsage.cs
- TransformPatternIdentifiers.cs
- LabelDesigner.cs
- HtmlHistory.cs
- FocusChangedEventArgs.cs
- Nullable.cs
- HostedNamedPipeTransportManager.cs
- DrawingDrawingContext.cs
- ProviderUtil.cs
- FileDataSourceCache.cs
- PrintPreviewControl.cs
- DataControlField.cs
- Restrictions.cs
- OrderedDictionary.cs
- SettingsContext.cs
- FileInfo.cs
- WebBaseEventKeyComparer.cs
- NoneExcludedImageIndexConverter.cs
- XmlWrappingReader.cs
- StateMachineSubscriptionManager.cs
- ExecutedRoutedEventArgs.cs
- OutputWindow.cs
- HostSecurityManager.cs
- HyperLinkField.cs
- ContentHostHelper.cs
- TextEndOfLine.cs
- ObjectDataSourceMethodEditor.cs
- ProxyOperationRuntime.cs