YAELS

 

Que es Yet Another Exception Logging System

Yet Another Exception Logging System (YAELS) es un sistema que permite el manejo de exceptiones de una manera personalizada. Con él podras, por ejemplo, recibir un correo electrónico con toda la información de la excepción.

El sistema está hecho usando el modelo de proveedores de Microsoft .NET Framework 2.0 por lo que es muy fácil configurarlo y extenderlo para adaptarlo a tus necesidades. La versión actual es la 0.1.0 y la puedes descargar desde su página en Codeplex

Puedes probarlo aquí

Notas de versión

v.0.1.1

  • Se ha cambiado el nombre del proyecto así como el espacio de nombres del IndigoHelper.Helpers a Microcode.YAELS.
  • Solucionado error en la configuración del proyecto para el uso de la libreria.
  • Solucionado error en la llamada al proveedor en la clase LogHelper.

v.0.1.0

  • Creada clase base LogHelperProvider.
  • Creada clase MailLogHelperProvider para logear las exepciones por correo electrónico. Esta clase obtiene los parámetros necesarios para su configuración como el host o el puerto del servidor de correo del fichero de configuración (app.config or web.config).
  • Creada clase LogHelper con el método estático Save, que simplifica el uso del proveedor.

Instalación

Añadir las siguiente referencias al proyecto

  • Indigo.Helpers
  • System.configuration
  • System.Web
Añadir las siguientes lineas en el fichero de configuración
      <!-- configSections -->
<configSections>
<section name="LogHelperProviderConfiguration" type="Microcode.YAELS.LogHelperProviderConfiguration, Microcode.YAELS"/>
</configSections>
<!-- End configSections -->

<!-- LogHelperProviderConfiguration -->
<LogHelperProviderConfiguration default="MailLogHelperProvider">
<providers>
<add name="MailLogHelperProvider"
type="Microcode.YAELS.MailLogHelperProvider, Microcode.YAELS"
smtpClient="localhost"
smtpPort="25"
userName="username"
password="password"
from="from@noreply.com"
to="to@noreply.com"
isBodyHtml="true"
sendAsync="true" />
</providers>
</LogHelperProviderConfiguration>
<!-- End LogHelperProviderConfiguration -->

Ejemplo de uso

try
{
    // Código.
    throw new Exception();
}
catch (Exception ex)
{
    LogHelper.Save(ex);
}

Configuración

Clave Descripción Requerido Versión
smtpClient Servidor de correo saliente. Si 0.1.0
smtpPort Puerto del servidor de correo saliente. Si 0.1.0
userName Nombre de usuario si el servidor de correo saliente requiere credenciales. No 0.1.0
password Contraseña de usuario si el servidor de correo saliente requiere credenciales. No 0.1.0
from Direccion de correo del remitente. Si 0.1.0
to Direccion de correo del destinatario. Si son varias se separan con ','. Si 0.1.0
isBodyHtml Se envia el correo en formato. No. Por defecto es verdadero. 0.1.0
sendAsync Se envia el correo de manera asíncrona. No. Por defecto es verdadero. 0.1.0
throwException Las excepciones generadas en la liberia se lanzan. No. Por defecto es false. 0.1.2
subject Asunto del correo. No. Por defecto es "Error". 0.1.2
fields Campos que se notifican en el correo. No. Por defecto es message|source|stackTrace|targetSite|date|exceptionType|machineName|oSVersion|userDomainName|userName|version
  • message: Mensaje que describe la actual excepción.
  • source: Nombre de la aplicación o del objeto que causó el error.
  • stackTrace: Pilla de llamadas.
  • targetSite: Método que produce la excepción.
  • date: Fecha en la que se procude la excepción.
  • exceptionType: Tipo de la excepción.
  • machineName: Nombre de la máquina.
  • oSVersion: Sistema operativo.
  • userDomainName: Nombre del dominio.
  • userName: Nombre del usuario de la sesión en la que corre la aplicación.
  • version: Versión del framework.
0.1.2

Colabora

Este proyecto está abierto a cualquier colaboración. Si encuentras algún fallo en el código y crees que puedes ayudar de alguna manera, no dudes en ponerte en contacto conmigo por correo electronico indigo . blogging @ gmail . com (quita los espacios).

Published viernes, 22 de agosto de 2008 13:40 by Indigo
Filed under:

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Powered by Community Server (Non-Commercial Edition), by Telligent Systems