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();
}
}
}