コード例 #1
0
ファイル: xml_file.cs プロジェクト: yg8868/logwizard
        public xml_file(file_text_reader reader) : base(reader)
        {
            XmlNamespaceManager mngr = new XmlNamespaceManager(new NameTable());

            mngr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
            mngr.AddNamespace("xsd", "http://www.w3.org/2001/XMLSchema");
            xml_parse_context_ = new XmlParserContext(null, mngr, null, XmlSpace.None);
        }
コード例 #2
0
ファイル: factory.cs プロジェクト: yg8868/logwizard
        private static log_parser_base create_file_parser(file_text_reader reader)
        {
            string file_name = reader.name.ToLower();

            var file_type = reader.settings.file_type.get();

            if (file_type == file_log_type.best_guess)
            {
                file_type = guess_file_type(file_name);
            }

            switch (file_type)
            {
            case file_log_type.line_by_line:
                return(new text_file_line_by_line(reader));

            case file_log_type.part_to_line:
                return(new text_file_part_on_single_line(reader));

            case file_log_type.xml:
                return(new xml_file(reader));

            case file_log_type.csv:
                return(new csv_file(reader));

            case file_log_type.best_guess:
                // best guess
                break;

            default:
                Debug.Assert(false);
                break;
            }

            if (file_name.EndsWith(".xml"))
            {
                return(new xml_file(reader));
            }
            if (file_name.EndsWith(".csv"))
            {
                return(new csv_file(reader));
            }

            string syntax = reader.settings.syntax;

            if (syntax == "" || syntax == find_log_syntax.UNKNOWN_SYNTAX)
            {
                if (text_file_part_on_single_line.is_single_line(reader.name, reader.settings))
                {
                    return(new text_file_part_on_single_line(reader));
                }
            }

            return(new text_file_line_by_line(reader));
        }
コード例 #3
0
        private static log_parser_base create_file_parser(file_text_reader reader)
        {
            string file_name = reader.name.ToLower();

            var file_type = reader.settings.get("file_type");

            switch (file_type)
            {
            case "line-by-line":
                return(new text_file_line_by_line(reader));

            case "part-by-line":
                return(new text_file_part_on_single_line(reader));

            case "xml":
                return(new xml_file(reader));

            case "csv":
                return(new csv_file(reader));

            case "":
                // best guess
                break;

            default:
                Debug.Assert(false);
                break;
            }

            if (file_name.EndsWith(".xml"))
            {
                return(new xml_file(reader));
            }
            if (file_name.EndsWith(".csv"))
            {
                return(new csv_file(reader));
            }

            string syntax = reader.settings.get("syntax");

            if (syntax == "" || syntax == find_log_syntax.UNKNOWN_SYNTAX)
            {
                if (text_file_part_on_single_line.is_single_line(reader.name, reader.settings))
                {
                    return(new text_file_part_on_single_line(reader));
                }
            }

            return(new text_file_line_by_line(reader));
        }
コード例 #4
0
 public file_parser_base(file_text_reader reader) : base(reader.settings)
 {
     reader_ = reader;
 }
コード例 #5
0
 public text_file_part_on_single_line(file_text_reader reader) : base(reader)
 {
 }
コード例 #6
0
ファイル: csv_file.cs プロジェクト: noelhx/logwizard
 public csv_file(file_text_reader reader) : base(reader)
 {
 }
コード例 #7
0
ファイル: json_file.cs プロジェクト: habjoc/logwizard
 public json_file(file_text_reader reader) : base(reader)
 {
 }