예제 #1
0
        public static bool TryCreateFromString(string pattern, out LogReportItem item)
        {
            item = null;

            try
            {
                int headerLength = _headerPattern.Length;
                if (pattern.Length < headerLength + 2)
                {
                    return(false);
                }

                string header = pattern.Substring(0, headerLength);

                bool isPattern = pattern[0] == '[' && pattern[4] == '|' &&
                                 pattern[7] == '|' && pattern[16] == ']';

                if (!isPattern)
                {
                    return(false);
                }

                string type     = MtString.GetSubString(pattern, 0, 4, false);
                string strLevel = MtString.GetSubString(pattern, 4, 7, false);
                string date     = MtString.GetSubString(pattern, 7, 16, false);
                string tempMsg  = pattern.Substring(18);
                string msg      = tempMsg.Replace(ITEM_SEPARATOR, Environment.NewLine);


                LogReportItemType typeofReport = GetLogReportType(type);
                int      level = int.Parse(strLevel);
                DateTime dt    = DateTime.Parse(date);

                item = new LogReportItem
                {
                    TypeOfLogItem = typeofReport,
                    Level         = level,
                    Date          = dt,
                    Message       = msg
                };

                return(true);
            }
            catch (Exception exc)
            {
            }

            return(false);
        }
예제 #2
0
        public string GetPathsAsString(char separator)
        {
            string separatedPaths = MtString.GetListSeparated(_paths, separator);

            return(separatedPaths);
        }