【问题标题】:Print to DotNetNuke Event Log/Viewer打印到 DotNetNuke 事件日志/查看器
【发布时间】:2010-01-11 14:19:16
【问题描述】:

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

【问题讨论】:

    标签: c# vb.net dotnetnuke


    【解决方案1】:

    来自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 -> 日志查看器!您可以自定义这些 事件的类型,无论是管理员, 主机、项目更新等。

    【讨论】:

      【解决方案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】:

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

        【讨论】:

          【解决方案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);
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-04-01
            • 2014-02-21
            • 1970-01-01
            • 1970-01-01
            • 2016-06-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多