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
- StrictAndMessageFilter.cs
- FrameworkContentElement.cs
- EntityTransaction.cs
- SoundPlayer.cs
- Utils.cs
- PropertyPathConverter.cs
- SHA512CryptoServiceProvider.cs
- NetworkAddressChange.cs
- InternalCache.cs
- XmlComplianceUtil.cs
- QilScopedVisitor.cs
- WorkflowOperationInvoker.cs
- Permission.cs
- DataGridViewBindingCompleteEventArgs.cs
- ValueProviderWrapper.cs
- DynamicPropertyHolder.cs
- FloaterParaClient.cs
- TargetControlTypeCache.cs
- Int32AnimationBase.cs
- SerializationBinder.cs
- ComPlusServiceHost.cs
- Rfc2898DeriveBytes.cs
- HashJoinQueryOperatorEnumerator.cs
- ReadOnlyDataSource.cs
- WinFormsSecurity.cs
- MiniCustomAttributeInfo.cs
- Resources.Designer.cs
- SchemaMapping.cs
- Function.cs
- ValidationVisibilityAttribute.cs
- InputProcessorProfilesLoader.cs
- PnrpPermission.cs
- PackUriHelper.cs
- Matrix.cs
- Converter.cs
- RangeBase.cs
- GridViewHeaderRowPresenter.cs
- WindowsListViewSubItem.cs
- Socket.cs
- Buffer.cs
- PerfService.cs
- DataBoundControl.cs
- InternalException.cs
- CommandHelpers.cs
- DataPagerFieldCommandEventArgs.cs
- Italic.cs
- ProjectionRewriter.cs
- Operator.cs
- PhysicalFontFamily.cs
- Unit.cs
- DataColumnPropertyDescriptor.cs
- WindowCollection.cs
- SecurityManager.cs
- ImageFormatConverter.cs
- PropertyGeneratedEventArgs.cs
- Pair.cs
- HotSpotCollectionEditor.cs
- NameTable.cs
- ValidationSummary.cs
- LOSFormatter.cs
- XmlNodeComparer.cs
- PlaceHolder.cs
- HelpKeywordAttribute.cs
- EventEntry.cs
- GridItemCollection.cs
- WebConfigurationHost.cs
- TypeConverterHelper.cs
- ReaderContextStackData.cs
- FixedPageProcessor.cs
- X509Certificate2.cs
- BaseValidator.cs
- BuildResult.cs
- _SafeNetHandles.cs
- MultiViewDesigner.cs
- EmptyEnumerator.cs
- ReverseInheritProperty.cs
- TypeConverterHelper.cs
- CounterSet.cs
- Native.cs
- ServiceOperationParameter.cs
- RadioButtonPopupAdapter.cs
- SecurityContextSecurityTokenResolver.cs
- CalendarButton.cs
- PeerTransportListenAddressConverter.cs
- _NtlmClient.cs
- PropertyGridDesigner.cs
- _NestedMultipleAsyncResult.cs
- ContextInformation.cs
- CompilationUtil.cs
- ClipboardData.cs
- EntitySqlQueryCacheEntry.cs
- XamlWriter.cs
- Executor.cs
- GlyphInfoList.cs
- DictionarySectionHandler.cs
- CannotUnloadAppDomainException.cs
- DBConnectionString.cs
- SynchronousChannelMergeEnumerator.cs
- EtwTrackingBehaviorElement.cs
- OledbConnectionStringbuilder.cs