using EonaCat.LogStack.Configuration;
using EonaCat.LogStack.Core;

// This file is part of the EonaCat project(s) which is released under the Apache License.
// See the LICENSE file or go to https://EonaCat.com/License for full license details.

var logger = new LogBuilder("MyApp")
    .WithMinimumLevel(LogLevel.Information)
    .WriteToConsole()
    .WriteToFile("C:\\tesss", maxFileSize: 50 * 1024 * 1024)
    //.WriteToJsonFile("./logs", maxFileSize: 50 * 1024 * 1024)
    //.WriteToHttp("https://127.0.0.1")
    //.WriteToUdp("127.0.0.1", 514)
    //.WriteToTcp("127.0.0.1", 514)
    //.WriteToDatabase(null)
    //.WriteToDiscord("https://discord.com/api/webhooks/...")
    //.WriteToMicrosoftTeams("https://outlook.office.com/webhook/...")
    //.WriteToElasticSearch("http://localhost:9200/logs")
    //.WriteToGraylogFlow(null)
    //.WriteToZabbixFlow(null)
    .BoostWithCorrelationId()
    .BoostWithProcessId()
    .Build();



while (true)
{
    logger.Information("Application started");
    logger.Error(new Exception("Nerd!"), "Something went wrong");
    await Task.Delay(1);
}   

await logger.DisposeAsync(); // Flushes all logs