zoukankan      html  css  js  c++  java
  • DNN学习笔记代码学习:LoggingProvider 荣

    using System;
    using System.Collections;

    namespace WebApplication1
    {
     /// <summary>
     /// 存储Log对象的类。
     /// 该类提供了对所包含的Log的操作,包括添加、删除、取得、清空等操作。该类应用了单件模式,为该类对象的扩展,提供了方便。
    ///他们把LogInfo对象存储在哪儿?存储在派生类的成员中,或其他地方
     /// </summary>
     public abstract class LoggingProvider
     {
      public enum ReturnType
      {
       LogInfoObjects,
       XML
      }

      private static LoggingProvider objProvider = null;

      public static LoggingProvider()
      {
       CreateProvider();
      }

      /// <summary>
      /// 根据配置信息创建这个LoggingProvider对象。
      /// </summary>
      private static void CreateProvider()
      {
       // 创建一个XMLLoggingProvider对象[配置信息中logging元素对应的值],并赋值给objProvider
      // 通过本方法,只能得到一个类型的派生类对象(即XMLLoggingProvider),为什么不直接用XMLLoggingProvider,而把本类删除呢?
       objProvider = (LoggingProvider)Reflection.CreateObject("logging");
      }

      /// <summary>
      /// 取得这个LoggingProvider对象。
      /// </summary>
      /// <returns></returns>
      public static LoggingProvider Instance()
      {
       // 单件模式,objProvider对象在派生类中确定。
       // 如何保证objProvider不为空?
       // 在第一次调用本之前,先调用构造函数CreateProvider。
       return objProvider;
      }

      public abstract bool SupportsEmailNotification();
      public abstract bool SupportsInternalViewer();
      public abstract bool LoggingIsEnabled(string LogType, int PortalID);
      public abstract bool SupportsSendToCoreTeam();
      public abstract bool SupportsSendViaEmail();

      public abstract void AddLog(LogInfo objLogInfo);
      public abstract void DeleteLog(LogInfo objLogInfo);
      public abstract void ClearLog();
      public abstract void PurgeLogBuffer();
      public abstract void SendLogNotifications();

    //  public abstract void AddLog(LogInfo logInfo);

      public abstract ArrayList GetLogTypeConfigInfo();

      public abstract object GetSingleLog(LogInfo logInfo, ReturnType objReturnType);
      public abstract LogInfoArray GetLog();
      public abstract LogInfoArray GetLog(string logType);
      public abstract LogInfoArray GetLog(int PortID);
      public abstract LogInfoArray GetLog(int PortID, string logType);
     }
    }

  • 相关阅读:
    sitemap
    sitemap
    sitemap
    微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决
    微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决
    微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决
    微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决
    HTML5 & CSS3初学者指南(2) – 样式化第一个网页
    HTML5 & CSS3初学者指南(2) – 样式化第一个网页
    django 登陆
  • 原文地址:https://www.cnblogs.com/admin11/p/194111.html
Copyright © 2011-2022 走看看