Nota: Este post ha sido realizado con versiones previas de ASP.NET 5 y de Visual Studio 2015, lo aquí escrito puede variar con versiones finales de la plataforma
Como ya hemos podido ver en otras ocasiones, uno de los aspectos fundamentales de la nueva versión de ASP.NET 5 y DNVM y DNX ( si, es la primera vez que uso en este blog los nuevos nombres para nuestros queridos KVM y KLR ) es la modularidad de los diferentes servicios que podemos utilizar. Uno de los servicios transversales usados por todo el código y que, por supuesto, nosotros también tenemos a nuestra disposición, es el sistema de trazas basado en Microsoft.Framework.Logging, proyecto que podemos encontrar aquí y que básicamente define las operaciones básicas que podemos hacer con un log y diferentes proveedores, por ahora los que tenemos disponibles son:
- Console: El propio nombre es bastante descriptivo.
Serilog: Sino conoces, serilog, es el momento de hacerlo :).
TraceSource: El API de diagnosticos existente en .NET
NLog: El popular sistema que la mayoría hemos usado o conocemos.
Su uso es realmente sencillo, de hecho, ya lo habrá visto si ha usado o visto algún ejemplo de ASP.NET 5 / MVC 6 dónde establecemos, donde deseemos, una dependencia a ILoggerFactory, que el sistema de dependencias por defecto nos inyecto con un LoggerFactory. Esta abstracción nos permite por medio de su método AddProvider establecer el proveedor que queremos usar.
[snippet id=»213″]
En realidad, cada uno los proveedores de arriba, crea un méodo extensor, AddConsole, AddSerilog, etc que nos ahorra el trabajo de conocer la implementación del proveedor para cada uno de ellos. Usarlo es realmente sencillo, a continuación podemos ver un ejemplo de uso de Serilog con un sink a una consola:
[snippet id=»214″]
Hasta aquí esta pequeña entrada
Saludos
Unai
Excelente tema, un poco corta la entrada para los neófitos como yo, ¿Está previsto un proveedor de Log4net? ¿Alguno de estos proveedores dispone de algún sistema para extraer información de los ficheros de log para su monitorización similar a HDInsight?
Gracias