public LOG(DateTime Time, HIGH_RANK_DIVISION H_Division, string TransferType) { this.Time = Time; this.H_Division = H_Division; this.SystemByte = SystemByte; this.TransferType = TransferType; }
public LOG(DateTime Time, HIGH_RANK_DIVISION H_Division, string TransferType, string SFName, int SystemByte) : this(Time, H_Division, TransferType) { this.SystemByte = SystemByte; try { this.SF = SFName; this.SFInstance = Activator.CreateInstance(Type.GetType($"SNS.DataObject.SF.{SFName}")) as StreamFuction; } catch (Exception e) { Console.WriteLine(e.StackTrace); Console.WriteLine(SFName); throw; } }
/// <summary> /// 문자열 로그를 LOG 객체로 인스턴스화하여 반환 합니다. /// </summary> /// <param name="strLog"></param> /// <returns></returns> public List <LOG> ConvertToLogInstance(List <string> strLog) { List <LOG> LogList = new List <LOG>(); LOG currentLog = null; foreach (string line in strLog) { HIGH_RANK_DIVISION H_Division = GetkHighRankLogDivision(line); if (H_Division != HIGH_RANK_DIVISION.NON) { string[] SplitedLog = SplitHighRankLog(line); DateTime Time = DateTime.ParseExact($"{SplitedLog[YEAR_MONTH_DAY_INDEX]} {SplitedLog[HOUR_MINUTE_INDEX]}", DATE_TIME_FORMAT, null); string TransferType = SplitedLog[TRANSFER_TYPE_INDEX]; string SFName = SplitedLog[SF_INDEX]; if (H_Division == HIGH_RANK_DIVISION.WARN || H_Division == HIGH_RANK_DIVISION.INFO) { StringBuilder AdditionINFOBuilder = new StringBuilder(); for (int i = TRANSFER_TYPE_INDEX + 1; i < SplitedLog.Length; i++) { AdditionINFOBuilder.Append($"{SplitedLog[i]} "); } currentLog = new LOG(Time, H_Division, TransferType, AdditionINFOBuilder.ToString()); } else { int SystemByte = int.Parse(SplitedLog[SYSTEMBYTE_INDEX]); currentLog = new LOG(Time, H_Division, TransferType, SFName, SystemByte); } LogList.Add(currentLog); } else { currentLog.AddLowRankLog(line); } } return(LogList); }
public LOG(DateTime Time, HIGH_RANK_DIVISION H_Division, string TransferType, string AdditionINFO) : this(Time, H_Division, TransferType) { this.AdditionINFO = AdditionINFO; }