DNN学习笔记代码学习:LogInfo 荣

using System;
using System.Text;
using System.Xml.Serialization;

namespace WebApplication1
{
 /// <summary>
 /// 存储某Log所有Log信息的类,返回需要字符串。
 /// </summary>
 [XmlRoot("log")]
 public class LogInfo
 {
  private string _LogGUID;
  private string _LogFileID;
  private string _LogTypeKey;
  private int _LogUserID;
  private string _LogUserName;
  private int _LogPortalID;
  private string _LogPortalName;
  private DateTime _LogCreateDate;
  private long _LogCreateDateNum;
  private bool _BypassBuffering;
  private string _LogServerName;

  /// <summary>
  /// _LogProperties对象用来存储多个LogDetailInfo对象,这是扩展LogInfo信息的一种方法。
  /// </summary>
  private LogProperties _LogProperties;

  public LogInfo()
  {
   _LogGUID = Guid.NewGuid().ToString();
   _BypassBuffering = false;
   _LogProperties = new LogProperties();
   _LogPortalID = -1;
   _LogPortalName = "";
   _LogUserID = -1;
   _LogUserName = "";
  }

  [XmlAttribute("LogGUID")]
  public string LogGUID
  {
   get
   {
    return _LogGUID;
   }
   set
   {
    _LogGUID = value;
   }
  }

  [XmlAttribute("LogFileID")]
  public string LogFileID
  {
   get
   {
    return _LogFileID;
   }
   set
   {
    _LogFileID = value;
   }
  }

  [XmlAttribute("LogTypeKey")]
  public string LogTypeKey
  {
   get
   {
    return _LogTypeKey;
   }
   set
   {
    _LogTypeKey = value;
   }
  }

  [XmlAttribute("LogUserID")]
  public int LogUserID
  {
   get
   {
    return _LogUserID;
   }
   set
   {
    _LogUserID = value;
   }
  }

  [XmlAttribute("LogUserName")]
  public string LogUserName
  {
   get
   {
    return _LogUserName;
   }
   set
   {
    _LogUserName = value;
   }
  }

  [XmlAttribute("LogPortalID")]
  public int LogPortalID
  {
   get
   {
    return _LogPortalID;
   }
   set
   {
    _LogPortalID = value;
   }
  }

  [XmlAttribute("LogPortalName")]
  public string LogPortalName
  {
   get
   {
    return _LogPortalName;
   }
   set
   {
    _LogPortalName = value;
   }
  }

  [XmlAttribute("LogCreateDate")]
  public DateTime LogCreateDate
  {
   get
   {
    return _LogCreateDate;
   }
   set
   {
    _LogCreateDate = value;
   }   
  }

  [XmlAttribute("LogCreateDateNum")]
  public long LogCreateDateNum
  {
   get
   {
    return _LogCreateDateNum;
   }
   set
   {
    _LogCreateDateNum = value;
   }
  }

  [XmlArray("properties"), XmlArrayItem(ElementName = "property", Type= null)]
  public LogProperties LogProperties
  {
   get
   {
    return _LogProperties;
   }
   set
   {
    _LogProperties = value;
   }
  }

  [XmlIgnore()]
  public bool BypassBuffering
  {
   get
   {
    return _BypassBuffering;
   }
   set
   {
    _BypassBuffering = value;
   }
  }

  [XmlAttribute("LogServerName")]
  public string LogServerName
  {
   get
   {
    return _LogServerName;
   }
   set
   {
    _LogServerName = value;
   }
  }

  /// <summary>
  /// 将一个名称、值添加到本对象中(通过添加_LogProperties中的LogDetailInfo对象)。
  /// </summary>
  /// <param name="PropertyName"></param>
  /// <param name="PropertyValue"></param>
  public void AddProperty(string PropertyName, string PropertyValue)
  {
   try
   {
    if (PropertyName.Length > 50)
    {
     PropertyName = PropertyName.Substring(0, 50);
    }
    if (PropertyValue.Length > 500)
    {
     PropertyValue = "(TRUNCATED TO 500 CHARS): " + PropertyValue.Substring(0, 500);
    }

    LogDetailInfo objLogDetailInfo = new LogDetailInfo();
    objLogDetailInfo.PropertyName = PropertyName;
    objLogDetailInfo.PropertyValue = PropertyValue;
    _LogProperties.Add(objLogDetailInfo);
   }
   catch(Exception ex)
   {
//    ProcessPageLoadException(exc);
   }
  }

  /// <summary>
  /// 判断某属性是不适Log的主要属性。
  /// </summary>
  /// <param name="PropName"></param>
  /// <returns></returns>
  public static bool IsSystemType(string PropName)
  {
   switch (PropName)
   {
    case "LogGUID":
    case "LogFileID":
    case "LogTypeKey":
    case "LogCreateDate":
    case "LogCreateDateNum":
    case "LogPortalID":
    case "LogPortalName":
    case "LogUserID":
    case "LogUserName":
    case "BypassBuffering":
    case "LogServerName":
     return  true;
    default:
     return false;
   }
  }

  /// <summary>
  /// 本对象返回的字符串。
  /// </summary>
  /// <returns></returns>
  public override string ToString()
  {
   StringBuilder str = new StringBuilder();
   str.Append("<b>LogGUID:</b> " + LogGUID + "<br>");
   str.Append("<b>LogType:</b> " + LogTypeKey + "<br>");
   str.Append("<b>UserID:</b> " + LogUserID.ToString() + "<br>");
   str.Append("<b>Username:</b> " + LogUserName + "<br>");
   str.Append("<b>PortalID:</b> " + LogPortalID.ToString() + "<br>");
   str.Append("<b>PortalName:</b> " + LogPortalName + "<br>");
   str.Append("<b>CreateDate:</b> " + LogCreateDate.ToString() + "<br>");
   str.Append("<b>ServerName:</b> " + LogServerName + "<br>");
   str.Append(LogProperties.ToString());

   return str.ToString();
  }

 }
}

原文地址:https://www.cnblogs.com/admin11/p/194101.html