Namespace CK.Core
Classes
ActivityMonitor
Concrete implementation of IActivityMonitor.
ActivityMonitor.DependentToken
Describes the origin of a dependent activity: it is created by DependentActivity(IActivityMonitor, String, Int32) (extension methods).
ActivityMonitor.Group
Groups are bound to an ActivityMonitor and are linked together from the current one to the very first one (a kind of stack).
ActivityMonitor.SourceFilter
Manages source filtering. This default implementation (DefaultFilter(ref String, ref Int32)) handles file scope only.
ActivityMonitor.Tags
Thread-safe context for tags used to categorize log entries (and group conclusions). All tags used in monitoring must be Register(String)ed here.
ActivityMonitorBridge
A IActivityMonitorClient that relays what happens in a monitor to another monitor.
ActivityMonitorBridgeTarget
This class used with ActivityMonitorBridge, enables IActivityMonitor to relay logs. Each activity monitor exposes such a bridge target on its output thanks to BridgeTarget.
ActivityMonitorClient
Base class that explicitly implements IActivityMonitorClient (to hide it from public interface, except its MinimalFilter).
ActivityMonitorConsoleClient
Displays the activity to the console.
ActivityMonitorErrorCounter
Count fatal, error or warn that occurred. It can also automatically adds a conclusion to closed groups that summarizes the number of fatals, errors and warnings.
ActivityMonitorErrorCounter.State
Encapsulates error information. The ToString() method displays the conclusion in a default text format.
ActivityMonitorExtension
Provides extension methods for IActivityMonitor and other types from the Activity monitor framework.
ActivityMonitorGroupData
Data required by UnfilteredOpenGroup(ActivityMonitorGroupData).
ActivityMonitorLogData
Data required by UnfilteredLog(ActivityMonitorLogData). This is also the base class for ActivityMonitorGroupData.
ActivityMonitorPathCatcher
The "Path Catcher" captures the current path of the opened groups and the last, current, line and exposes it thanks to a read only list of ActivityMonitorPathCatcher.PathElement (the DynamicPath property), plus two other specific paths, the LastErrorPath and the LastWarnOrErrorPath.
ActivityMonitorPathCatcher.PathElement
Element of the DynamicPath, LastErrorPath, or LastWarnOrErrorPath.
ActivityMonitorSenderExtension
Provides OpenXXX and XXX (Trace, Info,...Fatal) extension methods for IActivityMonitor.
ActivityMonitorSendExtension
Provides Send extension methods for IActivityMonitorGroupSender.
ActivityMonitorSimpleCollector
Simple collector of log entries which level is greater or equal to MinimalFilter. Its Capacity defaults to 50 (no more than Capacity entries are kept). Used by the CollectEntries(IActivityMonitor, Action<IReadOnlyList<ActivityMonitorSimpleCollector.Entry>>, LogLevelFilter) extension method.
ActivityMonitorSimpleCollector.Entry
Element of the Entries.
ActivityMonitorSimpleSenderExtension
Provides OpenXXX and XXX (Debug, Trace, Info,...Fatal) extension methods for IActivityMonitor.
ActivityMonitorTextHelperClient
Base class for IActivityMonitorClient that tracks groups and level changes in order to ease text-based renderer.
ActivityMonitorTextWriterClient
Formats the activity and pushes piece of texts to an Action<T> where T is a string.
LogFilterMatcherExtension
Supports LogFilter and LogLevelFilter extension methods.
SystemActivityMonitor
This ActivityMonitor logs errors in a directory (if the static RootLogPath property is not null) and raises OnError events. Its main goal is to be internally used by the Monitor framework but can be used as a "normal" monitor (if you believe it is a good idea). If RootLogPath is not set, Critical errors will NOT be logged.
SystemActivityMonitor.LowLevelErrorEventArgs
Defines the event argument of OnError.
Structs
ActivityLogGroupConclusion
Describes the conclusion of a group. Conclusions are simply Text Tagged with a CK.Core.CKTrait.
ActivityMonitorExtension.DependentSender
Offers dependent token creation and launching.
LogFilter
Immutable capture of a double LogLevelFilter. One for Line and one for Group. This value type exposes predefined configured couples: Debug, Trace (full trace), Verbose, Monitor, Terse, Release and Off (no log at all).
SourceLogFilter
Immutable encapsulation of the two source filters: this enables overriding or filtering per source file.
Interfaces
IActivityLogGroup
Exposes all the relevant information for a currently opened group. Groups are linked together from the current one to the very first one thanks to the Parent property.
IActivityMonitor
Defines the core Activity Monitor interface. Small is beautiful.
IActivityMonitorBoundClient
Specialized IActivityMonitorClient that is bound to one IActivityMonitor. Clients that can not be registered into multiple outputs (and receive logs from multiple monitors at the same time) should implement this interface in order to control their registration/un-registration.
IActivityMonitorClient
Listener for IActivityMonitor registered in a IActivityMonitorOutput.
IActivityMonitorGroupSender
The interface that carries Send extension methods for groups.
IActivityMonitorLineSender
The interface that carries Send extension methods.
IActivityMonitorOutput
Offers IActivityMonitorClient registration/unregistration and exposes a BridgeTarget (an ActivityMonitorBridgeTarget) that can be used to accept logs from other monitors.
IDisposableGroup
Interface obtained once a Group has been opened.
IUniqueId
Minimal interface that enables any type (specially reference type) to expose a Guid.
Enums
LogLevel
Five standard log levels in increasing order used by IActivityMonitor.
LogLevelFilter
Defines filters for LogLevel.
Delegates
ActivityMonitor.SourceFilter.FilterSourceDelegate
Delegate type that can be assigned to FilterSource static property to enable filter override based on the caller source location.