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
- basecomparevalidator.cs
- SoapHelper.cs
- SingleAnimationUsingKeyFrames.cs
- PropertyDescriptor.cs
- GridItemProviderWrapper.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- ComponentChangingEvent.cs
- ImplicitInputBrush.cs
- xamlnodes.cs
- CodeBinaryOperatorExpression.cs
- Profiler.cs
- NavigationProperty.cs
- WebMessageFormatHelper.cs
- SamlAssertion.cs
- RootBrowserWindow.cs
- LogEntryHeaderDeserializer.cs
- AppSettingsSection.cs
- TemplateBindingExtension.cs
- Span.cs
- ExpressionVisitorHelpers.cs
- DataGridCellsPresenter.cs
- SSmlParser.cs
- FullTrustAssembliesSection.cs
- Graphics.cs
- List.cs
- FontNameConverter.cs
- AsyncOperation.cs
- PartialCachingControl.cs
- EndEvent.cs
- ActionFrame.cs
- TypeElement.cs
- ObjectConverter.cs
- CompilationRelaxations.cs
- Transform3DGroup.cs
- ProjectionCamera.cs
- DeploymentSectionCache.cs
- WorkerRequest.cs
- EmptyEnumerator.cs
- ListBindingHelper.cs
- NumericExpr.cs
- Rect3D.cs
- DataGridViewCellCancelEventArgs.cs
- ListBindingConverter.cs
- TreeNode.cs
- XmlBinaryReader.cs
- AssemblyAttributesGoHere.cs
- DataGridViewCellFormattingEventArgs.cs
- StringUtil.cs
- BamlResourceSerializer.cs
- BrowserCapabilitiesCodeGenerator.cs
- DecoderNLS.cs
- XmlSchemaAttributeGroupRef.cs
- DrawingVisualDrawingContext.cs
- XmlDocumentSurrogate.cs
- ExcCanonicalXml.cs
- UnauthorizedAccessException.cs
- IApplicationTrustManager.cs
- SqlCommandBuilder.cs
- PointHitTestParameters.cs
- QilNode.cs
- MessageHeaderDescription.cs
- ParseChildrenAsPropertiesAttribute.cs
- DataControlField.cs
- OracleFactory.cs
- StickyNoteContentControl.cs
- RichTextBox.cs
- PropertyEmitter.cs
- DataStreamFromComStream.cs
- FormsAuthenticationModule.cs
- BindingMemberInfo.cs
- FixedSOMElement.cs
- DesignerGeometryHelper.cs
- RemoveStoryboard.cs
- X509WindowsSecurityToken.cs
- CollectionChange.cs
- IpcManager.cs
- EFColumnProvider.cs
- IdentifierService.cs
- PenContext.cs
- JapaneseCalendar.cs
- FixedLineResult.cs
- AssemblyFilter.cs
- BufferAllocator.cs
- EventsTab.cs
- ActiveXSite.cs
- PasswordBox.cs
- AxHost.cs
- AutomationProperties.cs
- LinearGradientBrush.cs
- ColorBuilder.cs
- FixedBufferAttribute.cs
- RelationshipDetailsCollection.cs
- MasterPageBuildProvider.cs
- WebPartZoneCollection.cs
- HotSpot.cs
- ActivityDesignerResources.cs
- WindowsSpinner.cs
- MethodBuilder.cs
- FileEnumerator.cs
- PageRanges.cs