Program.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using Microsoft.Extensions.Configuration;
  2. using MinecraftStatus;
  3. using Serilog;
  4. using Serilog.Events;
  5. using System.Text.Json;
  6. // See https://aka.ms/new-console-template for more information
  7. using VeloeMonitorDataCollector;
  8. using VeloeMonitorDataCollector.Dependencies;
  9. IConfiguration configuration = new ConfigurationBuilder()
  10. .AddIniFile("config.ini", optional: true, reloadOnChange: true)
  11. .Build();
  12. var logger = new LoggerConfiguration()
  13. .MinimumLevel.Debug()
  14. .WriteTo.Console(LogEventLevel.Debug)
  15. .WriteTo.File("logfile.log", LogEventLevel.Debug)// restricted... is Optional
  16. .CreateLogger();
  17. /*
  18. var status = new Gs3Status("192.168.1.86",5446).GetStatus();
  19. foreach (KeyValuePair<string, string> kvp in status.Info)
  20. {
  21. Console.WriteLine(kvp.Key + " " + kvp.Value);
  22. }
  23. Console.ReadKey();
  24. */
  25. try
  26. {
  27. DataCollector collector = new(configuration, logger);
  28. collector.Start();
  29. logger.Information("Wait for any input to stop");
  30. Console.ReadKey();
  31. //Console.Read();
  32. collector.Stop();
  33. logger.Information("Wait for any input to exit");
  34. Console.ReadKey();
  35. //Console.Read();
  36. }
  37. catch (Exception ex)
  38. {
  39. logger.Error(ex.Message);
  40. logger.Error(ex.StackTrace);
  41. throw;
  42. }