2010-01-11 9 views

Répondre

23

De http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (seulement la partie pertinente de l'article):

Utilisation du journal dans le code d'événement est tout à fait simple, le code est le suivant: -

D'abord, créer une instance de le EventLogViewer ...

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

Ensuite, connectez-vous si vous souhaitez piège ...

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

Maintenant, lorsque ce code est exécuté, l'événement entrée du journal doit apparaître dans l'admin -> Viewer journal! Vous pouvez personnaliser ces type d'événements, que ce soit admin, hôte, élément mis à jour, etc.

+0

Merci! Parfait. – Kukoy

7

Aussi, si vous souhaitez ajouter d'autres données dans le journal, vous pouvez utiliser la classe LogInfo pour ajouter des événements à le journal.

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

Ceci est la version 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); 
}