diff --git a/BulkFileUploadFunctionApp/BulkFileUploadFunction.cs b/BulkFileUploadFunctionApp/BulkFileUploadFunction.cs index 9df32f075..017d48998 100644 --- a/BulkFileUploadFunctionApp/BulkFileUploadFunction.cs +++ b/BulkFileUploadFunctionApp/BulkFileUploadFunction.cs @@ -327,24 +327,21 @@ private async Task CopyBlobFromDexToEdavAsync(string sourceContainerName, string string destinationContainerName = string.IsNullOrEmpty(_edavUploadRootContainerName) ? sourceContainerName : _edavUploadRootContainerName; string destinationBlobFilename = string.IsNullOrEmpty(_edavUploadRootContainerName) ? sourceBlobFilename : $"{sourceContainerName}/{sourceBlobFilename}"; - var edavContainerClient = edavBlobServiceClient.GetBlobContainerClient(destinationContainerName); await edavContainerClient.CreateIfNotExistsAsync(); - BlobClient edavDestBlobClient = edavContainerClient.GetBlobClient(destinationBlobFilename); using var dexBlobStream = await dexBlobClient.OpenReadAsync(); { await edavDestBlobClient.UploadAsync(dexBlobStream, null, destinationMetadata); dexBlobStream.Close(); - } - - } - catch (Exception ex) - { - _logger.LogError("Failed to copy", ex.Message); + } + } + catch (Exception ex) { + _logger.LogError("Failed to copy from Dex to Edav"); + ExceptionUtils.LogErrorDetails(ex, _logger); } } @@ -383,7 +380,8 @@ private async Task CopyBlobFromTusToDexAsync(string connectionString, string sou } catch (RequestFailedException ex) { - _logger.LogError(ex.Message); + _logger.LogError("Failed to copy from TUS to Dex"); + ExceptionUtils.LogErrorDetails(ex, _logger); } } diff --git a/BulkFileUploadFunctionApp/Utils/ExceptionUtils.cs b/BulkFileUploadFunctionApp/Utils/ExceptionUtils.cs new file mode 100644 index 000000000..36fede8c6 --- /dev/null +++ b/BulkFileUploadFunctionApp/Utils/ExceptionUtils.cs @@ -0,0 +1,19 @@ +using Microsoft.Extensions.Logging; + +namespace BulkFileUploadFunctionApp.Utils +{ + internal class ExceptionUtils + { + public static void LogErrorDetails(Exception ex, ILogger _logger) + { + if(ex is AggregateException) { + AggregateException ae = (AggregateException)ex; + foreach (Exception innerException in ae.Flatten().InnerExceptions) { + _logger.LogError(innerException.ToString()); + } + } else { + _logger.LogError(ex.GetBaseException().ToString()); + } + } + } +} \ No newline at end of file