{"version":"1.0","provider_name":"App Center Blog","provider_url":"https:\/\/devblogs.microsoft.com\/appcenter","author_name":"Visual Studio App Center","author_url":"https:\/\/devblogs.microsoft.com\/appcenter\/author\/vsappcenter-blog\/","title":"Give Your Crashes a Context through Logs Attachments","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"noI7S9BiLz\"><a href=\"https:\/\/devblogs.microsoft.com\/appcenter\/give-your-crashes-a-context-through-logs-attachments\/\">Give Your Crashes a Context through Logs Attachments<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/appcenter\/give-your-crashes-a-context-through-logs-attachments\/embed\/#?secret=noI7S9BiLz\" width=\"600\" height=\"338\" title=\"&#8220;Give Your Crashes a Context through Logs Attachments&#8221; &#8212; App Center Blog\" data-secret=\"noI7S9BiLz\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/appcenter\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-content\/uploads\/sites\/3\/2019\/01\/crash_with_attach-1.png","thumbnail_width":919,"thumbnail_height":530,"description":"This is a guest post by Jean-Marie Alfonsi, Freelance Software Architect. At the dawn of the app era, crash reporting was a dull and heavy work. You needed to manually retrieve your crash from your smartphone system, put some context in it and then send it to your custom web service. Being in the golden [&hellip;]"}