Example #1
0
        public async Task <DateTimeRule> Request(DateTimeRuleViewModel viewModel)
        {
            var generalRuleId = 0;

            try
            {
                generalRuleId = await _service.GetGeneralRuleId(viewModel.Id);
            }
            catch (Exception debug)
            {
                // ignore, if exception then we are creating new message rule
            }

            var generalRule = new GeneralRule
            {
                Id          = generalRuleId,
                Description = viewModel.Description,
                Name        = viewModel.Name,
                EndAnchor   = viewModel.EndAnchor,
                StartAnchor = viewModel.StartAnchor,
                Matcher     = new Regex(viewModel.Matcher)
            };

            return(new DateTimeRule
            {
                Id = viewModel.Id, GeneralRule = generalRule, DateFormat = viewModel.DateFormat, GeneralRuleId = generalRuleId
            });
        }
Example #2
0
        public async Task <SeverityRule> Request(SeverityRuleViewModel viewModel)
        {
            var generalRuleId = 0;

            try
            {
                generalRuleId = await _service.GetGeneralRuleId(viewModel.Id);
            }
            catch (Exception debug)
            {
                // ignore, if exception then we are creating new message rule
            }

            var generalRule = new GeneralRule
            {
                Id          = generalRuleId,
                Description = viewModel.Description,
                Name        = viewModel.Name,
                EndAnchor   = viewModel.EndAnchor,
                StartAnchor = viewModel.StartAnchor,
                Matcher     = new Regex(viewModel.Matcher)
            };

            return(new SeverityRule
            {
                Id = viewModel.Id, GeneralRule = generalRule, GeneralRuleId = generalRuleId, Info = new Regex(viewModel.Info),
                Trace = new Regex(viewModel.Trace), Warning = new Regex(viewModel.Warning), Debug = new Regex(viewModel.Debug),
                Fatal = new Regex(viewModel.Fatal),
                Error = new Regex(viewModel.Error)
            });
        }
        public async Task <GeneralRule> Edit(GeneralRule model)
        {
            var isUpdated = await _generalRuleRepository.Update(model);

            if (isUpdated)
            {
                return(await _generalRuleRepository.Read(model.Id));
            }

            throw new Exception($"Failed to update custom attribute rule {model.Id}");
        }
Example #4
0
        public string ParseCustomAttribute(string line, GeneralRule rule)
        {
            line = ApplyAnchors(line, rule.StartAnchor, rule.EndAnchor);

            var parsedValue = rule.Matcher.Match(line);

            if (!parsedValue.Success)
            {
                return(string.Empty);
            }

            return(parsedValue.Value.Trim());
        }
Example #5
0
        private LogCollecter(string logFolder, GeneralRule rule, bool async, int batchNum, long batchSec,
                             bool singleObj)
        {
            if (string.IsNullOrEmpty(logFolder))
            {
                throw new Exception("logFolder is empty");
            }

            this._logFolder = logFolder;
            if (!Directory.Exists(logFolder) || File.Exists(logFolder))
            {
                Directory.CreateDirectory(logFolder);
            }

            string @lock = "lock";

            if (GeneralRule.DAY.Equals(rule))
            {
                this.format = "yyyyMMdd";
                @lock       = @lock + "_day";
            }
            else
            {
                this.format = "yyyyMMddHH";
                @lock       = @lock + "_hour";
            }

            this._async       = async;
            this.singleObj    = singleObj;
            this.batchMsgList = new List <IDictionary <string, object> >(1);
            if (this._async)
            {
                this.batchNum     = batchNum;
                this.batchSec     = batchSec * 1000;
                this.batchMsgList = new List <IDictionary <string, object> >(this.batchNum);

                Init();
            }
        }
Example #6
0
 public LogCollecter(string logFolder, GeneralRule rule, bool async, int batchNum, long batchSec) : this(
         logFolder, rule, async, batchNum, batchSec, true)
 {
 }
Example #7
0
 public LogCollecter(string logFolder, GeneralRule rule, bool async) : this(logFolder, rule, async,
                                                                            DEFAULT_BATCH_NUM, DEFAULT_BATCH_SEC, true)
 {
 }
Example #8
0
 public LogCollecter(string logFolder, GeneralRule rule) : this(logFolder, rule, false, DEFAULT_BATCH_NUM,
                                                                DEFAULT_BATCH_SEC, true)
 {
 }
        public async Task <GeneralRule> Create(GeneralRule model)
        {
            var createdId = await _generalRuleRepository.Create(model);

            return(await _generalRuleRepository.Read(createdId));
        }