public void Start() { AsUnregistered.Value = _connectionService.UserName == null; try { _environment.GetObsVersions(out var obs, out var obsCam); SystemInfos.Value = new[] { new SystemInfoItem { Name = "Logged as", Value = _connectionService.UserName ?? "Unregistered" }, new SystemInfoItem { Name = "Processor", Value = _environment.GetProcessorName() }, new SystemInfoItem { Name = "Device Id", Value = _idService.GetDeviceId() }, new SystemInfoItem { Name = "OS", Value = System.Runtime.InteropServices.RuntimeInformation.OSDescription }, new SystemInfoItem { Name = "Start time UTC", Value = DateTime.UtcNow.ToString() }, new SystemInfoItem { Name = "Server", Value = _connectionService.ConnectionServer.Split(':')[0] }, new SystemInfoItem { Name = "App version", Value = ClientVersionHelper.GetVersion() }, new SystemInfoItem { Name = "OBS version", Value = obs }, new SystemInfoItem { Name = "OBS Cam version", Value = obsCam } }.Where(s => s.Value != null).ToArray(); SystemInfos.Value.Where(s => s.Id != null).ToList().ForEach(s => Log.Information($"SystemInfo {{{s.Id}}}", s.Value)); } catch (Exception e) { Log.Error(e, "Failed to get system info"); } }