打印到DotNetNuke事件日志/查看器

出于调试目的,如何使用VB.NET或C#打印到DotNetNuke中的事件日志/查看器?

来自http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (只是文章的相关部分):

在代码中使用事件日志非常简单,代码如下: –

首先,创建EventLogViewer的实例……

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

接下来,记录您想要捕获的事件……

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

现在,当运行此代码时,事件日志条目应出现在admin – > log viewer中! 您可以自定义这些类型的事件,无论是管理员,主持人,项目更新等。

此外,如果要向日志添加更多数据,可以使用LogInfo类将事件添加到日志中。

 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) 

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