如何在 DNN 管理日志或服务器事件日志中记录数据
How to log data in DNN admin log or server event log
我只是想调试一个控制器,但我无法查看从 2sxc 函数获得的变量。
我尝试通过 Log4Net 写入来记录变量:
private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(MyClassName));
但 ILog 类型在 2sxc 控制器中未知。我缺少参考吗?
我还找到了这个片段:
using DotNetNuke.Services.Log.EventLog;
var objEventLog = new EventLogController();
objEventLog.AddLog("Sample Message", "Something Interesting Happened!", PortalSettings, UserId, EventLogController.EventLogType.ADMIN_ALERT)
但我不知道要发送什么给 "PortalSettings",而且我对 2sxc 编程接口的帮助程序一无所知。
你们如何调试 2sxc 控制器和记录事件(不仅用于调试)?
感谢您的帮助!
这些片段的来源:Scott McCulloch (https://www.smcculloch.com/code/logging-to-the-dnn-event-log)
这给出了部分答案:http://www.dnnsoftware.com/community-blog/cid/141723/using-log4net-with-dotnetnuke。而且,看起来命名空间是 DotNetNuke.Instrumentation.
至于 PortalSettings,这是您门户的门户设置。我认为您需要引用 DotNetNuke.Entities.Portals,然后使用 PortalController 检索门户设置对象。
Joe Craig 之前的 post 对我帮助很大。
因此,在 2sxc 应用程序 中,我现在可以登录 DNN 事件日志(不是 Windows 那个):
@using DotNetNuke.Services.Log.EventLog;
@using DotNetNuke.Entities.Portals;
@{
var aujourdhui = DateTime.Now;
var objEventLog = new EventLogController();
PortalSettings PortalSettings = new PortalSettings();
objEventLog.AddLog("Debug info", "Variable \"Aujourdhui\" contains: " + aujourdhui.ToString("dddd d MMMM yyyy"), PortalSettings, @Dnn.User.UserID, EventLogController.EventLogType.ADMIN_ALERT);
}
唯一的小问题是此 PortalSettings returns 是第一个门户,即使我的 2sxc 应用程序在第二个门户 (id=1) 上运行也是如此。我肯定错过了什么。但是现在和我需要的(调试),这对我来说没问题!
我只是想调试一个控制器,但我无法查看从 2sxc 函数获得的变量。
我尝试通过 Log4Net 写入来记录变量:
private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(MyClassName));
但 ILog 类型在 2sxc 控制器中未知。我缺少参考吗?
我还找到了这个片段:
using DotNetNuke.Services.Log.EventLog;
var objEventLog = new EventLogController();
objEventLog.AddLog("Sample Message", "Something Interesting Happened!", PortalSettings, UserId, EventLogController.EventLogType.ADMIN_ALERT)
但我不知道要发送什么给 "PortalSettings",而且我对 2sxc 编程接口的帮助程序一无所知。
你们如何调试 2sxc 控制器和记录事件(不仅用于调试)?
感谢您的帮助!
这些片段的来源:Scott McCulloch (https://www.smcculloch.com/code/logging-to-the-dnn-event-log)
这给出了部分答案:http://www.dnnsoftware.com/community-blog/cid/141723/using-log4net-with-dotnetnuke。而且,看起来命名空间是 DotNetNuke.Instrumentation.
至于 PortalSettings,这是您门户的门户设置。我认为您需要引用 DotNetNuke.Entities.Portals,然后使用 PortalController 检索门户设置对象。
Joe Craig 之前的 post 对我帮助很大。
因此,在 2sxc 应用程序 中,我现在可以登录 DNN 事件日志(不是 Windows 那个):
@using DotNetNuke.Services.Log.EventLog;
@using DotNetNuke.Entities.Portals;
@{
var aujourdhui = DateTime.Now;
var objEventLog = new EventLogController();
PortalSettings PortalSettings = new PortalSettings();
objEventLog.AddLog("Debug info", "Variable \"Aujourdhui\" contains: " + aujourdhui.ToString("dddd d MMMM yyyy"), PortalSettings, @Dnn.User.UserID, EventLogController.EventLogType.ADMIN_ALERT);
}
唯一的小问题是此 PortalSettings returns 是第一个门户,即使我的 2sxc 应用程序在第二个门户 (id=1) 上运行也是如此。我肯定错过了什么。但是现在和我需要的(调试),这对我来说没问题!