private async Task GetAndSubmitLogAsync(LogSubmissionReason reason) { // We only want to allow one upload operation at a time. await _uploadLock.WaitAsync(); try { var log = await _logger.GetLogContentsAsync(); await SubmitLogInternalAsync(log, reason); } finally { _uploadLock.Release(); } }
private async Task SubmitLogInternalAsync(string log, LogSubmissionReason reason) { var result = await _logService.Upload(new DebugLog { Data = log, SubmissionReason = reason }); _logger.LogDebug("UploadLog result - always submit errors: {0}", result.AlwaysSubmitErrors); await _configurationManager.SetValueAsync(ALWAYS_SUBMIT_ERRORS, result.AlwaysSubmitErrors.ToString()); }