For debugging purposes, how can I print to the event log/viewer in DotNetNuke, using VB.NET or C#?
From http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (just the relevant part of the article):
Using the event log in code is quite simple, the code is as follows:-
First, create an instance of the EventLogViewer...
Dim objEventLog As New DotNetNuke.Services.Log.EventLog.EventLogController
Next, log the event you wish to trap...
objEventLog.AddLog("Sample Message", "Something Interesting Happened!", PortalSettings, -1, DotNetNuke.Services.Log.EventLog.EventLogController.EventLogType.ADMIN_ALERT)
Now, when this code is run, the event log entry should appear in admin -> log viewer! You can customise these type of events, whether they be admin, host, item updated, etc.
Also, if you want to add more data to the log, you can use LogInfo class to add events to the log.
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)
This is the 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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With