/// <summary> /// enable or disable a log item filer for the specified properties. null values act as wildcards making accepting any value /// </summary> /// <param name="isEnabled">enabled (true), disabled (false)</param> /// <param name="caller">caller object</param> /// <param name="callerTypeName">caller type name</param> /// <param name="callerMemberName">caller member name</param> /// <param name="logType">log entry type</param> /// <param name="logCategory">log entry category</param> /// <returns>the log filter</returns> public ILogFilter SetIsEnabledFilter( bool isEnabled, object caller = null, string callerTypeName = null, string callerMemberName = null, LogType?logType = null, LogCategory?logCategory = null ) { FilterValues.AddOrSetValue( isEnabled, caller, callerTypeName, callerMemberName, logType, logCategory); return(this); }
/// <summary> /// set a new or change an existing dispatching rule /// </summary> /// <param name="logger">target logger</param> /// <param name="logType">log entry type</param> /// <param name="logCategory">log entry category</param> /// <param name="caller">caller object</param> /// <param name="callerTypeName">caller type name</param> /// <param name="callerMemberName">caller member name</param> /// <param name="forwardEnabled">if true, the log action handled by the dispatcher is also forwarded to other dispatchers and to the logs pipeline. If not the dispatcher is the one handling the log action</param> /// <returns>the log dispatcher</returns> public ILogDispatcher SetDispatchingRule( ILog logger, LogType?logType = null, LogCategory?logCategory = null, object caller = null, string callerTypeName = null, string callerMemberName = null, bool forwardEnabled = true ) { var dispatcher = FilterValues .GetValue( caller, callerTypeName, callerMemberName, logType ?? LogType.NotDefined, logCategory ?? LogCategory.NotDefined ); if (dispatcher == null) { dispatcher = new Dispatcher(); } dispatcher .Loggers .AddLast(logger); FilterValues.AddOrSetValue( dispatcher, caller, callerTypeName, callerMemberName, logType, logCategory); return(this); }