2010-01-11 7 views

Antwort

23

Von http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (nur den relevanten Teil des Artikels):

das Ereignisprotokoll in Code zu verwenden ist ganz einfach, der Code ist wie folgt: -

Erstellen Sie zunächst eine Instanz die EventLogViewer ...

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

Als nächstes melden Sie sich das Ereignis, das Sie Falle wünschen ...

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

Nun, wenn dieser Code ausgeführt wird, sollte das Ereignis Protokolleintrag in Admin erscheinen -> Log Viewer! Sie können diese Arten von Veranstaltungen anpassen, ob sie Admin sein, Host, Artikel aktualisiert usw.

+0

Dank! Perfekt. – Kukoy

7

Auch, wenn Sie mehr Daten in das Protokoll hinzufügen möchten, können Sie loginfo Klasse verwenden, um Ereignisse hinzuzufügen das Protokoll.

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

Dies ist die C# -Version

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); 
}