miércoles, 27 de enero de 2010

¿Cómo escribir en el log de eventos de DNN?

Para ello se utiliza la clase DotNetNuke.Services.Log.EventLog.EventLogController y el método AddLog que tiene 6 sobrecargas. Veamos alguna de ellas:
public void AddLog(
    string PropertyName, 
    string PropertyValue, 
    PortalSettings _PortalSettings, 
    int UserID, 
    EventLogController.EventLogType objLogType);

Esta sobrecarga permirte guardar una pareja titulo-valor.
ctrl.AddLog(
    "Titulo",
    "Valor",
    this.PortalSettings,
    this.UserId,
    EventLogController.EventLogType.ADMIN_ALERT);

Otra:
public void AddLog(
    object objCBO, 
    PortalSettings _PortalSettings, 
    int UserID, 
    string UserName, 
    EventLogController.EventLogType objLogType);

Esta sobrecarga permite guardar los valores de las propiedades de un objeto (debe ser serializable y tener un constructor sin parámetros).
object objectToShow = this.PortalAlias;
ctrl.AddLog(
    objectToShow,
    this.PortalSettings,
    this.UserId,
    this.UserInfo.Username,
    EventLogController.EventLogType.ADMIN_ALERT); 

Lo que daría como resultado:

Fijese que se utiliza la enumeración EventLogType, que esta directamente relacionada con la lista "Tipo" en el Visor de eventos.

Si lo que desea es guardar la información de una excepción, la mejor opción es la clase DotNetNuke.Services.Exceptions y su método LogException.

No hay comentarios:

Publicar un comentario