2010-01-11 8 views

Respuesta

23

De http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (sólo la parte pertinente del artículo):

Utilizando el registro de eventos en el código es bastante simple, el código es el siguiente: -

En primer lugar, crear una instancia de la EventLogViewer ...

Dim objEventLog As New DotNetNuke.Services.Log.EventLog.EventLogController 

a continuación, el registro de eventos que desea trampa ...

objEventLog.AddLog("Sample Message", 
    "Something Interesting Happened!", 
    PortalSettings, 
    -1, 
    DotNetNuke.Services.Log.EventLog.EventLogController.EventLogType.ADMIN_ALERT) 

Ahora, cuando se ejecuta este código, la entrada de registro de eventos debe aparecer en admin - visor> registro! Puede personalizar estos tipo de eventos, ya sean de administración, anfitrión, elemento actualizado, etc.

+0

Gracias! Perfecto. – Kukoy

7

Además, si desea añadir más datos en el registro, puede utilizar la clase loginfo añadir eventos a el registro.

Dim eventLog As EventLogController 
eventLog = New EventLogController() 

Dim logInfo As DotNetNuke.Services.Log.EventLog.LogInfo 
logInfo = New LogInfo() 
logInfo.LogUserID = UserId 
logInfo.LogPortalID = PortalSettings.PortalId 
logInfo.LogTypeKey = EventLogController.EventLogType.ADMIN_ALERT.ToString() 
logInfo.AddProperty("PropertyName1", propertyValue1) 
logInfo.AddProperty("PropertyName2", propertyValue2) 

eventLog.AddLog(logInfo) 
5

Ésta es la versión C#

using DotNetNuke.Common.Utilities; 
using DotNetNuke.Services.Log.EventLog; 

EventLogController eventLog = new EventLogController(); 
DotNetNuke.Services.Log.EventLog.LogInfo logInfo = new LogInfo(); 
logInfo.LogUserID = UserId; 
logInfo.LogPortalID = PortalSettings.PortalId; 
logInfo.LogTypeKey=EventLogController.EventLogType.ADMIN_ALERT.ToString(); 
logInfo.AddProperty("KeyWord=", txtSearch.Text.Trim()); 
logInfo.AddProperty("KeyWordLike=", myParams); 
eventLog.AddLog(logInfo); 
0
using DotNetNuke.Common.Utilities; 
using DotNetNuke.Services.Log.EventLog; 
public static void DnnEventLogMsg(string msg) 
{ 
    EventLogController eventLog = new EventLogController(); 
    DotNetNuke.Services.Log.EventLog.LogInfo logInfo = new LogInfo(); 
    PortalSettings ps = PortalController.Instance.GetCurrentPortalSettings(); 
    UserInfo userInfo = UserController.Instance.GetCurrentUserInfo(); 
    logInfo.LogUserID = userInfo.UserID; 
    logInfo.LogPortalID = ps.PortalId; 
    logInfo.LogTypeKey = EventLogController.EventLogType.ADMIN_ALERT.ToString(); 
    logInfo.AddProperty("Atena3 Message", msg); 
    eventLog.AddLog(logInfo); 
}