Una característica interesante cuando desplegamos nuestras aplicaciones en Windows Azure Web Sites es la posibilidad de tener un streaming en tiempo real de las trazas de la aplicación, cosa que resulta muy útil, sobre todo en tiempo de desarrollo.
Esta funcionalidad está disponible para todos los frameworks y lenguajes que están soportados en la plataforma, en el caso de aplicaciones .NET, se integra perfectamente con System.Diagnostics.
Por ejemplo, si partimos de una aplicación de ejemplo de ASP.NET MVC, podemos añadir las siguientes trazas de información, error o advertencia en cada uno de los controladores que tenemos:
public ActionResult Index() { Trace.TraceInformation("Index action selected!"); ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; return View(); } public ActionResult About() { Trace.TraceError("About action selected!"); ViewBag.Message = "Your app description page."; return View(); } public ActionResult Contact() { Trace.TraceWarning("Contact action selected!"); ViewBag.Message = "Your contact page."; return View(); }
Después de desplegar la aplicación en la plataforma, podemos hacer uso de las herramientas de líneas de comandos, disponibles en todas las plataformas, para conectarnos al site y ver las trazas que se van generando.
El comando es: azure site log tail <site>
La herramienta permite tanto ver el log en tiempo real, como descargarse los logs.
Aquí tenemos un ejemplo de las trazas generadas.
Y aquí un ejemplo dónde filtro por las trazas que tienen la palabra “Index”.
Claro está, además de poder ver o descargar el log desde la línea de comandos, también podemos conectarnos por FTP a nuestro site y ver los logs generados. Por defecto la plataforma divide el log en ficheros máximos de 128k. Así mismo permite por defecto hasta 1 Mb de log para la aplicación. Los logs permanecen en el sistema hasta un máximo de 12 horas.
Desde la configuración del site, en el portal de Windows Azure, podremos ver y modificar la configuración del site.
Si no tenemos activada el log de la aplicación y nos conectamos con la herramienta de línea de comandos, ésta activará automáticamente el log.
Por último, comentar también que modificar la configuración de las trazas de la aplicación no implica que se recicle el pool y que no tanto se reinicie nuestro site. La configuración de diagnóstico se guarda en un fichero settings.json al que podemos acceder por FTP y verlo en el directorio diagnostics.
Log se guarda por defecto 12 horas
Si se conectas con la herramienta de línea de comandos para ver el streaming, te activa automáticamente el log.
Por defecto los ficheros se dividen en partes de 128K y el log siempre queda por debajo de 1 MB. Se pueden sobreescribir estos valores.
Cambiar la configuración de diagnóstico no recicla el pool y ni reinicia tu aplicación.