winlog/Models/AppSettings.cs

37 lines
1.3 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace WinLog.Models;
public class AppSettings
{
public string DateFormat { init; get; }
public string Directory { init; get; }
public string LogFilter { init; get; }
public string[] MessageFilters { init; get; }
public string MonitorApplicationResource { init; get; }
public string MonitorApplicationSite { init; get; }
public int MillisecondsDelay { init; get; }
public int RollingMinutes { init; get; }
[JsonConstructor]
public AppSettings(string dateFormat, string directory, string logFilter, string[] messageFilters, string monitorApplicationResource, string monitorApplicationSite, int millisecondsDelay, int rollingMinutes)
{
Directory = directory;
LogFilter = logFilter;
DateFormat = dateFormat;
MessageFilters = messageFilters;
MonitorApplicationResource = monitorApplicationResource;
MonitorApplicationSite = monitorApplicationSite;
MillisecondsDelay = millisecondsDelay;
RollingMinutes = rollingMinutes;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}