private ServiceConfiguration ReadConfig()
        {
            var configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            var appSettings   = configuration.AppSettings;
            var config        = new ServiceConfiguration();

            config.WsUrl = appSettings.Settings["WsUrl"].Value;
            config.CpuUsageNotificationPercent = int.Parse(appSettings.Settings["CpuUsageNotificationPercent"]?.Value ?? "0");
            config.RamUsageNotificationPercent = int.Parse(appSettings.Settings["RamUsageNotificationPercent"]?.Value ?? "0");
            config.RamUsageNotificationBytes   = int.Parse(appSettings.Settings["RamUsageNotificationBytes"]?.Value ?? "0");
            config.UpdateFrequency             = int.Parse(appSettings.Settings["UpdateFrequency"]?.Value ?? "4000");
            if (!LogLevelEnum.TryParse(appSettings.Settings["LogLevel"]?.Value, out LogLevelEnum logLevel))
            {
                logLevel = LogLevelEnum.Info;
            }
            config.LogLevel = logLevel;

            return(config);
        }
 public MonitorService()
 {
     InitializeComponent();
     _config = ReadConfig();
     _logger = new ServiceLogger(ServiceName, _config.LogLevel);
 }