Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / Utility / TraceLog.cs / 1305600 / 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
- SAPICategories.cs
- BindableTemplateBuilder.cs
- Base64WriteStateInfo.cs
- ManifestBasedResourceGroveler.cs
- ParserContext.cs
- TextEncodedRawTextWriter.cs
- MarkupObject.cs
- SecurityUniqueId.cs
- SqlUdtInfo.cs
- ValidatedControlConverter.cs
- BrowserDefinition.cs
- RSACryptoServiceProvider.cs
- XmlAnyElementAttribute.cs
- CheckBox.cs
- PageThemeBuildProvider.cs
- Rect.cs
- Empty.cs
- InputScopeManager.cs
- CriticalHandle.cs
- MergablePropertyAttribute.cs
- pingexception.cs
- XmlSchemaObjectTable.cs
- RequestSecurityTokenForGetBrowserToken.cs
- ManagementClass.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- PermissionSetEnumerator.cs
- MaterialGroup.cs
- ScrollBar.cs
- LinkArea.cs
- TableLayoutStyle.cs
- TransformedBitmap.cs
- ControlAdapter.cs
- TemplateBindingExtension.cs
- HyperLinkStyle.cs
- VirtualizingPanel.cs
- SpotLight.cs
- Tracer.cs
- EnterpriseServicesHelper.cs
- PagePropertiesChangingEventArgs.cs
- ListViewEditEventArgs.cs
- ToolStripContentPanel.cs
- NavigationFailedEventArgs.cs
- UnsafeNativeMethodsCLR.cs
- StyleCollection.cs
- MostlySingletonList.cs
- DefaultPerformanceCounters.cs
- HtmlTextArea.cs
- DataGridViewCheckBoxColumn.cs
- GlobalAllocSafeHandle.cs
- ProviderCollection.cs
- WSHttpSecurity.cs
- OdbcError.cs
- RegisteredHiddenField.cs
- ToolStripComboBox.cs
- OdbcTransaction.cs
- ExtenderControl.cs
- ParentQuery.cs
- DrawTreeNodeEventArgs.cs
- ClosableStream.cs
- QueryAccessibilityHelpEvent.cs
- WebBrowserPermission.cs
- ChtmlTextWriter.cs
- querybuilder.cs
- ToolStripPanelCell.cs
- TriggerActionCollection.cs
- EntityDesignPluralizationHandler.cs
- WinInetCache.cs
- NativeObjectSecurity.cs
- TreeNodeStyleCollection.cs
- EdgeProfileValidation.cs
- ToolTip.cs
- Repeater.cs
- LogReservationCollection.cs
- TransformerConfigurationWizardBase.cs
- OrderedEnumerableRowCollection.cs
- ColorBlend.cs
- HttpPostServerProtocol.cs
- RSAPKCS1SignatureDeformatter.cs
- DomainConstraint.cs
- CreatingCookieEventArgs.cs
- RegexNode.cs
- Viewport2DVisual3D.cs
- SelectionEditingBehavior.cs
- ArcSegment.cs
- _LocalDataStore.cs
- ExpressionLexer.cs
- Model3D.cs
- updateconfighost.cs
- NetSectionGroup.cs
- Menu.cs
- Menu.cs
- CryptoApi.cs
- PolicyUnit.cs
- UpdateDelegates.Generated.cs
- XhtmlTextWriter.cs
- BmpBitmapEncoder.cs
- NegotiateStream.cs
- mansign.cs
- BitmapDecoder.cs
- RSAPKCS1SignatureDeformatter.cs