Struct 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).
Inherited Members
Namespace: CK.Core
Assembly: CK.ActivityMonitor.dll
Syntax
[Serializable]
public struct LogFilter
Constructors
| Improve this Doc View SourceLogFilter(LogLevelFilter, LogLevelFilter)
Declaration
public LogFilter(LogLevelFilter group, LogLevelFilter line)
Parameters
| Type | Name | Description |
|---|---|---|
| LogLevelFilter | group | Filter for groups. |
| LogLevelFilter | line | Filter for lines. |
Fields
| Improve this Doc View SourceDebug
Declaration
public static readonly LogFilter Debug
Field Value
| Type | Description |
|---|---|
| LogFilter |
Group
The filter that applies to groups.
Declaration
public readonly LogLevelFilter Group
Field Value
| Type | Description |
|---|---|
| LogLevelFilter |
Invalid
Declaration
public static readonly LogFilter Invalid
Field Value
| Type | Description |
|---|---|
| LogFilter |
Line
The filter that applies to log lines (Debug, Trace, Info, Warn, Error and Fatal).
Declaration
public readonly LogLevelFilter Line
Field Value
| Type | Description |
|---|---|
| LogLevelFilter |
Monitor
While monitoring, only errors and warnings are captured (Warn), whereas all Groups appear (Trace) to get the detailed structure of the activity.
Declaration
public static readonly LogFilter Monitor
Field Value
| Type | Description |
|---|---|
| LogFilter |
Off
Off filter does not capture anything.
Declaration
public static readonly LogFilter Off
Field Value
| Type | Description |
|---|---|
| LogFilter |
Release
Declaration
public static readonly LogFilter Release
Field Value
| Type | Description |
|---|---|
| LogFilter |
Terse
Declaration
public static readonly LogFilter Terse
Field Value
| Type | Description |
|---|---|
| LogFilter |
Trace
Declaration
public static readonly LogFilter Trace
Field Value
| Type | Description |
|---|---|
| LogFilter |
Undefined
Undefined filter is None for both Line and Group. This is the same as using the default constructor for this structure (it is exposed here for clarity).
Declaration
public static readonly LogFilter Undefined
Field Value
| Type | Description |
|---|---|
| LogFilter |
Verbose
Declaration
public static readonly LogFilter Verbose
Field Value
| Type | Description |
|---|---|
| LogFilter |
Methods
| Improve this Doc View SourceCombine(LogFilter)
Combines this filter with another one. Line and Group level filters are combined with Combine(LogLevelFilter, LogLevelFilter).
Declaration
public LogFilter Combine(LogFilter other)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | other | The other filter to combine with this one. |
Returns
| Type | Description |
|---|---|
| LogFilter | The resulting filter. |
Combine(LogLevelFilter, LogLevelFilter)
Combines two enums LogLevelFilter into one. The resulting filter is the more verbose one (the smallest level). Invalid is considered as None (it has no impact). This operation is commutative and associative: different order of combination always give the same result.
Declaration
public static LogLevelFilter Combine(LogLevelFilter x, LogLevelFilter y)
Parameters
| Type | Name | Description |
|---|---|---|
| LogLevelFilter | x | First filter level. |
| LogLevelFilter | y | Second filter level. |
Returns
| Type | Description |
|---|---|
| LogLevelFilter | The resulting level. |
CombineNoneOnly(LogFilter)
Declaration
public LogFilter CombineNoneOnly(LogFilter other)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | other | The other filter to combine with this one. |
Returns
| Type | Description |
|---|---|
| LogFilter | The resulting filter. |
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description |
|---|---|---|
| Object | obj | Other object. |
Returns
| Type | Description |
|---|---|
| Boolean | True if Line and Group are equal. |
Overrides
| Improve this Doc View SourceGetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| Int32 | The hash code. |
Overrides
| Improve this Doc View SourceHasImpactOn(LogFilter)
Tests if Combine(LogFilter) this and x will result in a different filter than x.
Declaration
public bool HasImpactOn(LogFilter x)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | x | The other filter. |
Returns
| Type | Description |
|---|---|
| Boolean | True if combining this filter and x will change x. |
Parse(String)
Parses the filter: it can be a predefined filter as ("Undefined", "Debug", "Trace", "Verbose", etc.) or as {GroupLogLevelFilter,LineLogLevelFilter} pairs like "{None,None}", "{Error,Debug}".
Declaration
public static LogFilter Parse(string filter)
Parameters
| Type | Name | Description |
|---|---|---|
| String | filter | Predefined filter as (Undefined, Debug, Verbose, etc.) or as {LineLogLevelFilter,GroupLogLevelFilter} like {None,None}, {Error,Trace}. |
Returns
| Type | Description |
|---|---|
| LogFilter | The filter. |
SetGroup(LogLevelFilter)
Returns a LogFilter with a given LogLevelFilter for the Group.
Declaration
public LogFilter SetGroup(LogLevelFilter group)
Parameters
| Type | Name | Description |
|---|---|---|
| LogLevelFilter | group | Filter for the group. |
Returns
| Type | Description |
|---|---|
| LogFilter | The filter with the group level. |
SetLine(LogLevelFilter)
Returns a LogFilter with a given LogLevelFilter for the Line.
Declaration
public LogFilter SetLine(LogLevelFilter line)
Parameters
| Type | Name | Description |
|---|---|---|
| LogLevelFilter | line | Filter for the line. |
Returns
| Type | Description |
|---|---|
| LogFilter | The filter with the line level. |
ToString()
Overridden to show the group and the line level.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String | A {group,line} string. |
Overrides
| Improve this Doc View SourceTryParse(String, out LogFilter)
Tries to parse a LogFilter: it can be a predefined filter as ("Undefined", "Debug", "Verbose", etc.)
or as {GroupLogLevelFilter,LineLogLevelFilter} pairs like "{None,None}", "{Error,Trace}".
Declaration
public static bool TryParse(string s, out LogFilter f)
Parameters
| Type | Name | Description |
|---|---|---|
| String | s | Filter to parse. |
| LogFilter | f | Resulting filter. |
Returns
| Type | Description |
|---|---|
| Boolean | True on success, false on error. |
Operators
| Improve this Doc View SourceEquality(LogFilter, LogFilter)
Equality operator.
Declaration
public static bool operator ==(LogFilter x, LogFilter y)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | x | First filter. |
| LogFilter | y | Second filter. |
Returns
| Type | Description |
|---|---|
| Boolean |
Inequality(LogFilter, LogFilter)
Inequality operator.
Declaration
public static bool operator !=(LogFilter x, LogFilter y)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | x | First filter. |
| LogFilter | y | Second filter. |
Returns
| Type | Description |
|---|---|
| Boolean |