/// <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); }
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); }
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(); }
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); }
/// <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); }
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(); }
/// <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); }
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(); }
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())); } }
/// <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); } }
/// <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); }
/// <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); }
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(); } } }
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); }