public void AddRule( TEvent eventId, TagRuleCheckType ruleCheckType, IRtTag tagExpression, double?tolerance = null, double?discardValue = null, Func <ITagRuleDefinition <TEvent>, bool> action = null) { var rule = new TagRuleDefinition <TEvent>(eventId, ruleCheckType, tagExpression, tolerance ?? defaultTolerance, discardValue ?? defaultDiscardValue, action ?? defaultAction, logger); tagRules.Add(rule); logger?.LogInformation("Add Rule [{0}] {1} TagName:[{2}] TagExpression:[{3}] Status:{4} Updated:{5} ", rule.EventId, rule.RuleCheckType, rule.TagExpression.TagName, rule.TagExpression, rule.TagExpression.Status, rule.TagExpression.Updated); }
internal TagRuleDefinition( TEvent eventId, TagRuleCheckType ruleCheckType, IRtTag tagExpression, double tolerance = 0.01, double discardValue = 0, Func <ITagRuleDefinition <TEvent>, bool> action = null, ILogger logger = null) { this.logger = logger ?? Configuration.Configuration.DefaultLogger; EventId = eventId; TagExpression = tagExpression; RuleCheckType = ruleCheckType; this.tolerance = tolerance; this.DiscardValue = discardValue; this.action = action; }