Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
        /// <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);
        }