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);
     }
    }

  • 相关阅读:
    章节十六、3-TestNG方法和类注解
    章节十六、2-TestNG注解和断言
    章节十六、1-TestNG简介
    章节十五、9-自定义Loggers
    章节十五、8-配置文件File Logging
    章节十五、7- 配置文件-Console Logging
    章节十五、6-log4 2-用默认的配置
    章节十五、5-记录日志---Log4j
    章节十五、4-找到当前页所有连接
    030.[转] sql事务特性
  • 原文地址:https://www.cnblogs.com/admin11/p/194111.html
Copyright © 2011-2022 走看看