Beispiel #1
0
        /// <summary>
        /// 编辑日志规则
        /// </summary>
        private bool update(LogRule rule)
        {
            using (var context = new Entities())
            {
                var data = context.logRules.SingleOrDefault(r => r.id == rule.id);
                if (data == null)
                {
                    return(false);
                }

                data.isFile  = rule.isFile;
                data.code    = rule.code;
                data.level   = rule.level;
                data.source  = rule.source;
                data.action  = rule.action;
                data.message = rule.message;
                if (context.SaveChanges() <= 0)
                {
                    new Thread(() => Logger.write("300603")).Start();

                    return(false);
                }
            }

            Params.rules.RemoveAll(r => r.id == rule.id);
            Params.rules.Add(rule);
            return(true);
        }
Beispiel #2
0
        private string GetKey(DateTime dt, LogRule rule)
        {
            string key;

            switch (rule)
            {
            case LogRule.Minute:
                key = dt.ToString("yyyyMMddHHmm");
                break;

            case LogRule.No:
                key = "";
                break;

            case LogRule.Day:
                key = dt.ToString("yyyyMMdd");
                break;

            case LogRule.Hour:
            default:
                key = dt.ToString("yyyyMMddHH");
                break;
            }
            return(key);
        }
Beispiel #3
0
        public void CreateTest()
        {
            var inst = new RegionLogInfo();

            var logRule = new LogRule("some thing");

            logRule.Add(new LogHeightClass(0, 0, 0));

            inst.AddRule(logRule);

            inst.GetLogRule("something").Should().BeNull();
            inst.GetLogRule("thing").Should().NotBeNull();
            inst.GetLogRule("some").Should().NotBeNull();

            inst.GetLogRule(null).Should().BeNull();
            inst.GetLogRule(string.Empty).Should().BeNull();

            var logRule2 = new LogRule();

            logRule2.Add(new LogHeightClass(0, 0, 0));

            inst.AddRule(logRule2);

            inst.GetLogRule(null).Should().NotBeNull();
            inst.GetLogRule(string.Empty).Should().NotBeNull();
        }
Beispiel #4
0
        public static RegionLogInfo MakeRegionFiveLogRules()
        {
            var regionalLogRules = new RegionLogInfo(5);

            var logRule = new LogRule();

            logRule.Add(new LogHeightClass(26, 35, 1));
            logRule.Add(new LogHeightClass(36, 45, 1));
            logRule.Add(new LogHeightClass(46, 55, 3));
            logRule.Add(new LogHeightClass(56, 65, 3));
            logRule.Add(new LogHeightClass(66, 75, 3));
            logRule.Add(new LogHeightClass(76, 85, 3));
            logRule.Add(new LogHeightClass(86, 95, 4));
            logRule.Add(new LogHeightClass(96, 105, 5));
            logRule.Add(new LogHeightClass(106, 115, 5));
            logRule.Add(new LogHeightClass(116, 125, 6));
            logRule.Add(new LogHeightClass(126, 135, 7));
            logRule.Add(new LogHeightClass(136, 145, 8));
            logRule.Add(new LogHeightClass(146, 155, 9));
            logRule.Add(new LogHeightClass(156, 165, 9));
            logRule.Add(new LogHeightClass(166, 175, 10));
            logRule.Add(new LogHeightClass(176, 185, 10));
            logRule.Add(new LogHeightClass(186, 195, 11));
            logRule.Add(new LogHeightClass(196, 205, 12));
            logRule.Add(new LogHeightClass(206, 215, 12));
            logRule.Add(new LogHeightClass(216, 225, 13));

            regionalLogRules.AddRule(logRule);
            return(regionalLogRules);
        }
Beispiel #5
0
        /// <summary>
        /// 写日志 是一个入队操作
        /// </summary>
        /// <param name="str"></param>
        public void Write(string s, string prefix, LogRule rule = LogRule.Day)
        {
            if (string.IsNullOrWhiteSpace(s))
            {
                return;
            }

            DateTime dt  = DateTime.Now;
            string   val = string.Concat(dt, "\r\n", s);
            string   key = string.Concat(prefix, GetKey(dt, rule));

            Write(key, val);
        }
Beispiel #6
0
        public void GetLogRule_with_species_not_set()
        {
            var inst = new RegionLogInfo();

            var logRule = new LogRule();

            logRule.Add(new LogHeightClass(0, 0, 0));

            inst.AddRule(logRule);
            inst.GetLogRule(null).Should().NotBeNull();
            inst.GetLogRule(string.Empty).Should().NotBeNull();

            inst.GetLogRule("something").Should().BeNull();
        }
Beispiel #7
0
        /// <summary>
        /// 写日志 是一个入队操作
        /// </summary>
        /// <param name="str"></param>
        public void Write(string s, LogLevel level = LogLevel.AppInfo, LogRule rule = LogRule.Day, long ms = 0)
        {
            string prefix = level.ToString();

            if (ms > 0)
            {
                ms = ms / 10 * 10;
            }
            if (ms > 0)
            {
                prefix = string.Concat("_", prefix, ms, "_");
            }

            Write(s, prefix, rule);
        }
Beispiel #8
0
        public void GetLogRule_with_blank_speckes(string species)
        {
            var inst = new RegionLogInfo();

            var logRule = new LogRule(species);

            logRule.Add(new LogHeightClass(0, 0, 0));

            inst.AddRule(logRule);
            inst.GetLogRule(null).Should().NotBeNull("null value");
            inst.GetLogRule("").Should().NotBeNull("empty value");
            inst.GetLogRule(" ").Should().NotBeNull("white space");

            inst.GetLogRule("something").Should().BeNull();
        }
Beispiel #9
0
    public override void InitDataPage()
    {
        ResourceRule objResourceRule = new ResourceRule();

        rptImglist.DataSource = objResourceRule.GetResourceVerFilePathInfo(1);

        LogRule objLogRule = new LogRule();

        chkDataList.Items.Clear();
        dropCote.Items.Insert(0, new ListItem("无设定", "-1"));
        foreach (Sys_ModuleCote objSys_ModuleCote in objModuleRule.Sys_ModuleCote)
        {
            dropCote.Items.Add(new ListItem(objSys_ModuleCote.CoteTitle, objSys_ModuleCote.ModuleCoteID.ToString()));
        }
    }
Beispiel #10
0
        /// <summary>
        /// 保存日志规则到数据库
        /// </summary>
        private static bool insert(LogRule rule)
        {
            using (var context = new Entities())
            {
                context.logRules.Add(rule);
                if (context.SaveChanges() <= 0)
                {
                    new Thread(() => Logger.write("300601")).Start();

                    return(false);
                }

                Params.rules.Add(rule);
                return(true);
            }
        }
Beispiel #11
0
        /// <summary>
        /// 新增日志规则
        /// </summary>
        /// <param name="rule">日志规则数据对象</param>
        /// <returns>Result</returns>
        public Result <object> addRule(LogRule rule)
        {
            if (!verify("60A97A33-0E6E-4856-BB2B-322FEEEFD96A"))
            {
                return(result);
            }

            if (string.IsNullOrEmpty(rule.code) || !Regex.IsMatch(rule.code, @"^\d{6}$"))
            {
                return(result.invalidEventCode());
            }

            var level = Convert.ToInt32(rule.code.Substring(0, 1));

            if (level <= 1 || level == 7)
            {
                return(result.eventWithoutConfig());
            }

            if (Params.rules.Any(r => r.code == rule.code))
            {
                return(result.eventCodeUsed());
            }

            rule.creatorId = userId;
            if (!insert(rule))
            {
                return(result.dataBaseError());
            }

            var log = new
            {
                UserID  = userId,
                Message = $"事件代码【{rule.code}】已由{userName}创建和配置为:{Util.serialize(rule)}"
            };

            new Thread(() => Logger.write("600601", Util.serialize(log))).Start();

            return(result);
        }
Beispiel #12
0
        /// <summary>
        /// 编辑日志规则
        /// </summary>
        /// <param name="rule">日志规则数据对象</param>
        /// <returns>Result</returns>
        public Result <object> editRule(LogRule rule)
        {
            if (!verify("9FF1547D-2E3F-4552-963F-5EA790D586EA"))
            {
                return(result);
            }

            if (!update(rule))
            {
                return(result.dataBaseError());
            }

            var log = new
            {
                UserID  = userId,
                Message = $"事件代码【{rule.code}】已被{userName}修改为:{Util.serialize(rule)}"
            };

            new Thread(() => Logger.write("600603", Util.serialize(log))).Start();

            return(result);
        }
Beispiel #13
0
        public void GetLogRule(string speciesIn, bool shouldReturnValue, params string[] speciesOut)
        {
            var inst = new RegionLogInfo();

            var logRule = new LogRule(speciesIn);

            logRule.Add(new LogHeightClass(0, 0, 0));

            inst.AddRule(logRule);

            foreach (var sp in speciesOut)
            {
                var value = inst.GetLogRule(sp);
                if (shouldReturnValue)
                {
                    value.Should().NotBeNull();
                }
                else
                {
                    value.Should().BeNull();
                }
            }
        }
Beispiel #14
0
        public static RegionLogInfo MakeRegionTenLogRules()
        {
            var regionalLogRules = new RegionLogInfo(10);

            var spruce = new LogRule("098");// Spruce

            spruce.Add(new LogHeightClass(36, 45, 1));
            spruce.Add(new LogHeightClass(46, 55, 1).WithBreaks(13));
            spruce.Add(new LogHeightClass(56, 65, 1).WithBreaks(18));
            spruce.Add(new LogHeightClass(66, 75, 2).WithBreaks(18));
            spruce.Add(new LogHeightClass(76, 85, 2).WithBreaks(13, 21));
            spruce.Add(new LogHeightClass(86, 95, 3).WithBreaks(17, 33));
            spruce.Add(new LogHeightClass(96, 105, 3).WithBreaks(14, 23));
            spruce.Add(new LogHeightClass(106, 115, 4).WithBreaks(18, 34));
            spruce.Add(new LogHeightClass(116, 125, 4).WithBreaks(15, 24, 56));
            spruce.Add(new LogHeightClass(126, 135, 5).WithBreaks(19, 36));
            spruce.Add(new LogHeightClass(136, 145, 6).WithBreaks(25, 56));
            spruce.Add(new LogHeightClass(146, 155, 6).WithBreaks(19, 37));
            spruce.Add(new LogHeightClass(156, 165, 7).WithBreaks(25, 59));
            spruce.Add(new LogHeightClass(166, 175, 8).WithBreaks(36));
            spruce.Add(new LogHeightClass(176, 185, 9).WithBreaks(59));
            spruce.Add(new LogHeightClass(186, 195, 9).WithBreaks(34));
            spruce.Add(new LogHeightClass(196, 205, 10).WithBreaks(55));
            spruce.Add(new LogHeightClass(206, 215, 11));

            regionalLogRules.AddRule(spruce);

            var spruceYoung = new LogRule("98Y"); //Young Spruce

            spruceYoung.Add(new LogHeightClass(36, 45, 1).WithBreaks(9));
            spruceYoung.Add(new LogHeightClass(46, 55, 1).WithBreaks(13));
            spruceYoung.Add(new LogHeightClass(56, 65, 1).WithBreaks(10));
            spruceYoung.Add(new LogHeightClass(66, 75, 2).WithBreaks(15));
            spruceYoung.Add(new LogHeightClass(76, 85, 2).WithBreaks(11));
            spruceYoung.Add(new LogHeightClass(86, 95, 2).WithBreaks(10, 15));
            spruceYoung.Add(new LogHeightClass(96, 105, 2).WithBreaks(10, 12, 23));
            spruceYoung.Add(new LogHeightClass(106, 115, 4).WithBreaks(15));
            spruceYoung.Add(new LogHeightClass(116, 125, 4).WithBreaks(22));
            spruceYoung.Add(new LogHeightClass(126, 135, 5).WithBreaks(16, 36));
            spruceYoung.Add(new LogHeightClass(136, 145, 6).WithBreaks(25, 56));
            spruceYoung.Add(new LogHeightClass(146, 155, 7).WithBreaks(21));
            spruceYoung.Add(new LogHeightClass(156, 165, 8).WithBreaks(31));

            regionalLogRules.AddRule(spruceYoung);

            var wrc = new LogRule("242");//western red-cedar

            wrc.Add(new LogHeightClass(36, 45, 1));
            wrc.Add(new LogHeightClass(46, 55, 1).WithBreaks(14));
            wrc.Add(new LogHeightClass(56, 65, 1).WithBreaks(11));
            wrc.Add(new LogHeightClass(66, 75, 1).WithBreaks(10, 16));
            wrc.Add(new LogHeightClass(76, 85, 3));
            wrc.Add(new LogHeightClass(86, 95, 3).WithBreaks(18));
            wrc.Add(new LogHeightClass(96, 105, 4).WithBreaks(20));
            wrc.Add(new LogHeightClass(106, 115, 4).WithBreaks(19));
            wrc.Add(new LogHeightClass(116, 125, 5).WithBreaks(29));
            wrc.Add(new LogHeightClass(126, 135, 6).WithBreaks(55));
            wrc.Add(new LogHeightClass(136, 145, 7));
            wrc.Add(new LogHeightClass(146, 155, 7).WithBreaks(46));
            wrc.Add(new LogHeightClass(156, 165, 8));
            wrc.Add(new LogHeightClass(166, 175, 9));

            regionalLogRules.AddRule(wrc);

            var ayc = new LogRule("042"); //Alaska Yellow-cedar

            ayc.Add(new LogHeightClass(36, 45, 1));
            ayc.Add(new LogHeightClass(46, 55, 1).WithBreaks(13));
            ayc.Add(new LogHeightClass(56, 65, 1).WithBreaks(10));
            ayc.Add(new LogHeightClass(66, 75, 2).WithBreaks(15));
            ayc.Add(new LogHeightClass(76, 85, 3).WithBreaks(26));
            ayc.Add(new LogHeightClass(86, 95, 3).WithBreaks(16));
            ayc.Add(new LogHeightClass(96, 105, 4).WithBreaks(25));
            ayc.Add(new LogHeightClass(106, 115, 5).WithBreaks(45));
            ayc.Add(new LogHeightClass(116, 125, 6));
            ayc.Add(new LogHeightClass(126, 135, 6).WithBreaks(37));
            ayc.Add(new LogHeightClass(136, 145, 7));
            ayc.Add(new LogHeightClass(146, 155, 8));
            ayc.Add(new LogHeightClass(156, 165, 8).WithBreaks(56));
            ayc.Add(new LogHeightClass(166, 175, 9));
            ayc.Add(new LogHeightClass(176, 185, 10));

            regionalLogRules.AddRule(ayc);

            var hmlk = new LogRule("263"); //Hemlock

            hmlk.Add(new LogHeightClass(36, 45, 1));
            hmlk.Add(new LogHeightClass(46, 55, 1).WithBreaks(14));
            hmlk.Add(new LogHeightClass(56, 65, 1).WithBreaks(12, 20));
            hmlk.Add(new LogHeightClass(66, 75, 2).WithBreaks(15, 32));
            hmlk.Add(new LogHeightClass(76, 85, 2).WithBreaks(13, 22));
            hmlk.Add(new LogHeightClass(86, 95, 3).WithBreaks(17, 33));
            hmlk.Add(new LogHeightClass(96, 105, 3).WithBreaks(14, 24));
            hmlk.Add(new LogHeightClass(106, 115, 4).WithBreaks(18, 35));
            hmlk.Add(new LogHeightClass(116, 125, 5).WithBreaks(25, 57));
            hmlk.Add(new LogHeightClass(126, 135, 5).WithBreaks(19, 37));
            hmlk.Add(new LogHeightClass(136, 145, 6).WithBreaks(25, 58));
            hmlk.Add(new LogHeightClass(146, 155, 6).WithBreaks(19, 38));
            hmlk.Add(new LogHeightClass(156, 165, 7).WithBreaks(25, 61));
            hmlk.Add(new LogHeightClass(166, 175, 8).WithBreaks(38));
            hmlk.Add(new LogHeightClass(176, 185, 8).WithBreaks(25, 62));
            hmlk.Add(new LogHeightClass(186, 195, 9).WithBreaks(36));
            hmlk.Add(new LogHeightClass(196, 205, 10).WithBreaks(59));

            regionalLogRules.AddRule(hmlk);

            var hmlkYoung = new LogRule("263Y"); //Young Hemlock

            hmlkYoung.Add(new LogHeightClass(36, 45, 1).WithBreaks(9));
            hmlkYoung.Add(new LogHeightClass(46, 55, 1).WithBreaks(14));
            hmlkYoung.Add(new LogHeightClass(56, 65, 1).WithBreaks(11));
            hmlkYoung.Add(new LogHeightClass(66, 75, 1).WithBreaks(9, 15));
            hmlkYoung.Add(new LogHeightClass(76, 85, 1).WithBreaks(9, 12));
            hmlkYoung.Add(new LogHeightClass(86, 95, 3).WithBreaks(15));
            hmlkYoung.Add(new LogHeightClass(96, 105, 3).WithBreaks(12, 23));
            hmlkYoung.Add(new LogHeightClass(106, 115, 4).WithBreaks(16));
            hmlkYoung.Add(new LogHeightClass(116, 125, 5).WithBreaks(22));
            hmlkYoung.Add(new LogHeightClass(126, 135, 6).WithBreaks(37));
            hmlkYoung.Add(new LogHeightClass(136, 145, 6).WithBreaks(24));
            hmlkYoung.Add(new LogHeightClass(146, 155, 7).WithBreaks(32));

            regionalLogRules.AddRule(hmlkYoung);

            var ra = new LogRule("351");//Red Alder

            ra.Add(new LogHeightClass(36, 45, 1).WithBreaks(19));
            ra.Add(new LogHeightClass(46, 55, 1).WithBreaks(11));
            ra.Add(new LogHeightClass(56, 65, 1).WithBreaks(9, 18));
            ra.Add(new LogHeightClass(66, 75, 1).WithBreaks(8, 12));
            ra.Add(new LogHeightClass(76, 85, 2).WithBreaks(9, 16));
            ra.Add(new LogHeightClass(86, 95, 3).WithBreaks(12));
            ra.Add(new LogHeightClass(96, 105, 4).WithBreaks(16));

            regionalLogRules.AddRule(ra);

            return(regionalLogRules);
        }