Example #1
0
        public void Add(DateTime dateTime, string backEndVersion, object request, ILogContents log)
        {
            var uniqueName = Guid.NewGuid().ToString();

            string inputBlobName = uniqueName + "_request.json";

            try
            {
                string jsonRequest = JsonConvert.SerializeObject(request, Formatting.Indented);
                File.WriteAllText(Path.Combine(dataDir.FullName, inputBlobName), jsonRequest);
            }
            catch (Exception exc)
            {
                Trace.WriteLine("Error writing file with request: " + exc.Message);
                inputBlobName = null;
            }

            string outputBlobName = uniqueName + "_result.json";

            try
            {
                using (var stream = File.OpenWrite(Path.Combine(dataDir.FullName, outputBlobName)))
                    using (var writer = new StreamWriter(stream))
                    {
                        if (log.ErrorMessages != null && log.ErrorMessages.Length > 0)
                        {
                            writer.WriteLine("Error messages:\n{0}\n\n", String.Join("\n", log.ErrorMessages));
                        }
                        if (log.DebugMessages != null && log.DebugMessages.Length > 0)
                        {
                            writer.WriteLine("Debug messages:\n{0}\n", String.Join("\n", log.DebugMessages));
                        }
                        writer.Flush();
                    }
            }
            catch (Exception exc)
            {
                Trace.WriteLine("Error writing file with result: " + exc.Message);
                outputBlobName = null;
            }

            var failure = new FailureDescription
            {
                UniqueName     = uniqueName,
                BackEndVersion = backEndVersion,
                DateTime       = dateTime
            };

            Append(failure);
        }
Example #2
0
        public void Add(DateTime dateTime, string backEndVersion, object request, ILogContents log)
        {
            var uniqueName = Guid.NewGuid().ToString();

            string inputBlobName = String.Concat(uniqueName, "_request");

            try
            {
                var inputBlob = failuresContainer.GetBlockBlobReference(inputBlobName);
                inputBlob.UploadTextAsync(JsonConvert.SerializeObject(request, Formatting.Indented)).Wait();
            }
            catch (Exception exc)
            {
                Trace.WriteLine("Error writing blob: " + exc.Message);
                inputBlobName = null;
            }

            string outputBlobName = String.Concat(uniqueName, "_result");

            try
            {
                var outputBlob = failuresContainer.GetBlockBlobReference(outputBlobName);
                using (var stream = outputBlob.OpenWriteAsync().Result)
                {
                    var writer = new StreamWriter(stream);
                    if (log.ErrorMessages != null && log.ErrorMessages.Length > 0)
                    {
                        writer.WriteLine("Error messages:\n{0}\n\n", String.Join("\n", log.ErrorMessages));
                    }
                    if (log.DebugMessages != null && log.DebugMessages.Length > 0)
                    {
                        writer.WriteLine("Debug messages:\n{0}\n", String.Join("\n", log.DebugMessages));
                    }
                    writer.Flush();
                }
            }
            catch (Exception exc)
            {
                Trace.WriteLine("Error writing blob: " + exc.Message);
                outputBlobName = null;
            }

            failuresTable.ExecuteAsync(TableOperation.Insert(new FailureEntity(uniqueName, backEndVersion)
            {
                DateTime = dateTime
            })).Wait();
        }
 public void Add(DateTime dateTime, string backEndVersion, object request, ILogContents contents)
 {
     Trace.WriteLine(String.Format("Backend {1} fails at {0}", dateTime, backEndVersion));
 }
Example #4
0
 public void Add(DateTime dateTime, string backEndVersion, object request, ILogContents contents)
 {
     ts.TraceData(TraceEventType.Information, id, new object[] { dateTime, backEndVersion, contents });
 }