【发布时间】:2010-01-11 14:19:16
【问题描述】:
出于调试目的,如何使用 VB.NET 或 C# 打印到 DotNetNuke 中的事件日志/查看器?
【问题讨论】:
标签: c# vb.net dotnetnuke
出于调试目的,如何使用 VB.NET 或 C# 打印到 DotNetNuke 中的事件日志/查看器?
【问题讨论】:
标签: c# vb.net dotnetnuke
来自http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx(只是文章的相关部分):
在代码中使用事件日志相当 很简单,代码如下:-
首先,创建一个实例 事件日志查看器...
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 -> 日志查看器!您可以自定义这些 事件的类型,无论是管理员, 主机、项目更新等。
【讨论】:
另外,如果您想向日志添加更多数据,可以使用 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);
}
【讨论】: