Печать в журнал событий/просмотрщик событий DotNetNuke
В целях отладки, как я могу печатать в журнале событий/просмотрщике событий в DotNetNuke, используя VB.NET или С#?
Ответы
Ответ 1
Из 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 → просмотр журнала! Вы можете настроить эти тип событий, будь то администратор, хост, обновленный элемент и т.д.
Ответ 2
Кроме того, если вы хотите добавить больше данных в журнал, вы можете использовать класс 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)
Ответ 3
Это версия С#
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);
Ответ 4
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);
}