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
- WebService.cs
- DataBoundLiteralControl.cs
- __Filters.cs
- RangeValuePatternIdentifiers.cs
- ContainerParaClient.cs
- RsaSecurityToken.cs
- PhonemeConverter.cs
- DynamicControlParameter.cs
- InputScopeNameConverter.cs
- COM2ExtendedUITypeEditor.cs
- CultureTableRecord.cs
- UIElementParagraph.cs
- OutputCacheProfileCollection.cs
- HtmlFormWrapper.cs
- BitmapFrameEncode.cs
- TraceHandlerErrorFormatter.cs
- _CacheStreams.cs
- MarshalByRefObject.cs
- SamlAuthenticationClaimResource.cs
- RegexGroup.cs
- SerializationUtility.cs
- GridViewColumnHeader.cs
- AdapterUtil.cs
- VisualStyleElement.cs
- ISCIIEncoding.cs
- SecureUICommand.cs
- ToolStripTextBox.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- MouseActionValueSerializer.cs
- ServicesSection.cs
- MatrixCamera.cs
- WebPartEventArgs.cs
- OneToOneMappingSerializer.cs
- ComponentRenameEvent.cs
- TaiwanLunisolarCalendar.cs
- PrimitiveRenderer.cs
- XamlReader.cs
- XpsTokenContext.cs
- DataGridViewToolTip.cs
- AnnotationMap.cs
- SemaphoreSecurity.cs
- HttpProfileBase.cs
- AssemblyNameProxy.cs
- CodeTypeOfExpression.cs
- SystemTcpConnection.cs
- ColumnCollection.cs
- SourceCollection.cs
- WsatTransactionHeader.cs
- XamlSerializer.cs
- FamilyMap.cs
- PeerNameRecord.cs
- RawTextInputReport.cs
- IdentityValidationException.cs
- GacUtil.cs
- ReferencedType.cs
- ClientSettings.cs
- PipelineModuleStepContainer.cs
- TextRunTypographyProperties.cs
- AlternationConverter.cs
- SpellerInterop.cs
- documentation.cs
- AnimationTimeline.cs
- SmtpClient.cs
- EdmTypeAttribute.cs
- XPathException.cs
- TextViewElement.cs
- DesignerActionKeyboardBehavior.cs
- StorageTypeMapping.cs
- OdbcConnectionOpen.cs
- ClaimComparer.cs
- TextElementAutomationPeer.cs
- TextServicesHost.cs
- ButtonFlatAdapter.cs
- WindowsFormsHostAutomationPeer.cs
- Maps.cs
- MatrixAnimationBase.cs
- SchemaNames.cs
- DrawListViewSubItemEventArgs.cs
- CallTemplateAction.cs
- XmlSchema.cs
- Comparer.cs
- BitmapData.cs
- DBDataPermissionAttribute.cs
- SelectedDatesCollection.cs
- ThousandthOfEmRealPoints.cs
- xmlformatgeneratorstatics.cs
- XmlReaderSettings.cs
- CheckedPointers.cs
- Form.cs
- FragmentQueryKB.cs
- InstalledVoice.cs
- ProxyGenerator.cs
- DefaultValidator.cs
- DeclarativeCatalogPart.cs
- VisualBasicReference.cs
- ScriptingScriptResourceHandlerSection.cs
- ImmutableObjectAttribute.cs
- Comparer.cs
- WebResponse.cs
- MouseCaptureWithinProperty.cs