public async Task Execute(IJobExecutionContext context) { var correlationId = _correlationIdGenerator.Generate(); try { JobNameGuard(); _appLogger.Info($"{JobName} Job with correlationId {correlationId} is starting."); await ExecuteJob(context); _appLogger.Info($"{JobName} Job with correlationId {correlationId} is finished."); } catch (Exception exception) { var stringBuilder = new StringBuilder(); stringBuilder.Append($"{JobName} with correlationId {correlationId} is failed."); stringBuilder.AppendLine(); stringBuilder.Append($"Message:{exception.Message}"); stringBuilder.AppendLine(); stringBuilder.Append($"StackTrace:{exception.StackTrace}"); stringBuilder.AppendLine(); _appLogger.Error(stringBuilder.ToString()); } }