The trace facility provides a class that keeps information in memory and records information on disk. The application or infrastructure classes can invoke the facility. Each entity calling the trace is free to trace any information it wants with some configurable settings to set the limits. The facility also provides a viewer tool, which allows the user to browse the trace entries that are in memory and make some dynamic changes to the tracing behavior.
The facility displays the trace information in a window and writes it to a file with a predefined maximum number of lines. When the file reaches its maximum number of lines, the facility returns to the beginning of the file and starts overwriting old information with the current information. This prevents the file from growing endlessly. The same consideration applies to the displaying window so that it does not use more and more memory while the code is being traced.
Traces are categorized following several independent criteria:
Developers can enable or disable these categories depending on the tracing requirements for each situation.