Print to DotNetNuke Event Log/Viewer

跟風遠走 提交于 2019-12-03 10:37:10
GalacticCowboy

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)
Giridhar

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);
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);
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!