12 March 2013 Azure, Elmah, Websites Robert Muehsig

Die Azure Websites sind in der Handhabung sehr simpel, dennoch kann man leicht neue Instanzen dazuschalten. Doch was macht man, wenn ein Fehler passiert?

image

Azure Website Konfiguration

Unter den Einstellungen der Azure Websites kann man 3 Diagnose-Tools anschalten:

  • Detailed Error Logging – Turn on detailed error logging to capture all errors generated by your web site.
  • Failed Request Tracing – Turn on failed request tracing to capture information for failed client requests.
  • Web Server Logging – Turn on Web Server logging to save web site logs using the W3C extended log file format.
  • </ul>

    Quelle: How to monitore web sites

     

    image

    Wo werden diese Logs gespeichert?

    Die Logs werden in einem Verzeichnis auf der Maschine abgelegt, welches über FTP zugänglich ist. Dafür in das “Dashboard” wechseln und dort nach “FTP DIAGNOSTIC LOGS” suchen. Der Deployment-User (der auch das Git-Deployment übernimmt) wird dort als Login gebraucht!

    image

    image

    Ich benötige weitere Logging- / Exception-Informationen

    Leider sind die Error-Pages nicht wirklich immer zielführend, daher kommt man relativ schnell zu dem Punkt an dem man ein Logging Framework benötigt.

    ELMAH to the rescue!

    Ich hatte mich schnell für ELMAH entschieden, samt der zusätzlichen ASP.NET MVC Integration:

    image 

    Dann noch den XmlFile-Provider einhängen in der web.config:

    <elmah>
      <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
    </elmah>

    Dann kann man auch via der FTP Seite sich bis zur Seite und dem App_Data Verzeichnis navigieren:

    image 

    Natürlich würde auch Log4Net oder NLog funktionieren.

    Damit sollte es auch mit dem Debugging klappen ;)

    Fazit:

    Die Azure Websites verhalten sich sehr ähnlich wie eine normale Web-Anwendung auf einem normalen IIS, daher gelten hier fast die selben Bedingungen. Hier ist kein völlig anderes Vorgehen wie bei den Cloud Services (mit den Table Storage und den Diagnostics) von nöten.


Written by Robert Muehsig

Software Developer - from Dresden, Germany, now living & working in Switzerland. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de

If you like the content and want to support me you could buy me a beer or a coffee via Litecoin or Bitcoin - thanks for reading!