Загрузка данных


using System;
using System.Diagnostics;
using System.IO;

public static class Program
{
    public static void Main(string[] args)
    {
        ProcessFile("logs/server-01.log");
        ProcessFile("logs/server-02.log");
        ProcessFile("logs/server-03.log");
        ProcessFile("logs/server-04.log");
        ProcessFile("logs/server-05.log");
        ProcessFile("logs/server-06-malformed.log");
        ProcessFile("logs/server-large.log");

        var stopwatch = Stopwatch.StartNew();

        ProcessFile("logs/server-01.log");

        stopwatch.Stop();

        Console.WriteLine($"Elapsed: {stopwatch.ElapsedMilliseconds} ms");

        static void ProcessFile(string filename)
        {
            Console.WriteLine($"Processing: {filename}");

            if (!File.Exists(filename))
            {
                Console.WriteLine($"File not found: {filename}");
                return;
            }

            int infoCount = 0;
            int warningCount = 0;
            int errorCount = 0;

            foreach (string line in File.ReadLines(filename))
            {
                if (line.Contains("INFO", StringComparison.OrdinalIgnoreCase))
                {
                    infoCount++;
                }
                else if (line.Contains("WARNING", StringComparison.OrdinalIgnoreCase))
                {
                    warningCount++;
                }
                else if (line.Contains("ERROR", StringComparison.OrdinalIgnoreCase))
                {
                    errorCount++;
                }
            }

            Console.WriteLine($"  INFO:    {infoCount}");
            Console.WriteLine($"  WARNING: {warningCount}");
            Console.WriteLine($"  ERROR:   {errorCount}");
            Console.WriteLine();
        }
    }
}