示例#1
0
 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;
 }
示例#2
0
 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);
        }
示例#4
0
 public LOG(DateTime Time, HIGH_RANK_DIVISION H_Division, string TransferType, string AdditionINFO) : this(Time, H_Division, TransferType)
 {
     this.AdditionINFO = AdditionINFO;
 }