⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logheader.cs

📁 飞信的收发使用csharp进行开发
💻 CS
字号:
namespace Imps.Client.Logger
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Text;
    using System.Xml;

    public class LogHeader
    {
        private AppEnvironment _appEnv = new AppEnvironment();
        private string _ExtData = string.Empty;
        private MachineEnvironment _MachineEnv = new MachineEnvironment();
        private DateTime _TimeStamp;
        private string _Version = string.Empty;

        internal LogHeader()
        {
        }

        public byte[] ToArray()
        {
            using (MemoryStream stream = new MemoryStream())
            {
                XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8);
                writer.Formatting = Formatting.Indented;
                writer.WriteStartElement("LogHeader");
                writer.WriteStartElement("TimeStamp");
                writer.WriteString(DateTime.Now.ToString());
                writer.WriteEndElement();
                if (!string.IsNullOrEmpty(this.Version))
                {
                    writer.WriteStartElement("Version");
                    writer.WriteString(this.Version);
                    writer.WriteEndElement();
                }
                writer.WriteStartElement("MachineEnv");
                if (!string.IsNullOrEmpty(this.MachineEnv.OS))
                {
                    writer.WriteStartElement("OS");
                    writer.WriteString(this.MachineEnv.OS);
                    writer.WriteEndElement();
                }
                if (!string.IsNullOrEmpty(this.MachineEnv.Language))
                {
                    writer.WriteStartElement("Language");
                    writer.WriteString(this.MachineEnv.Language);
                    writer.WriteEndElement();
                }
                if (!string.IsNullOrEmpty(this.MachineEnv.IE))
                {
                    writer.WriteStartElement("IE");
                    writer.WriteString(this.MachineEnv.IE);
                    writer.WriteEndElement();
                }
                if (this.MachineEnv.MemorySize != 0)
                {
                    writer.WriteStartElement("MemorySize");
                    writer.WriteString(this.MachineEnv.MemorySize.ToString());
                    writer.WriteEndElement();
                }
                if (this.MachineEnv.IpList.Count > 0)
                {
                    writer.WriteStartElement("IpList");
                    foreach (string str in this.MachineEnv.IpList)
                    {
                        writer.WriteStartElement("Ip");
                        writer.WriteString(str);
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                }
                if (this.MachineEnv.OwnerGroups.Count > 0)
                {
                    writer.WriteStartElement("OwnerGroups");
                    foreach (string str2 in this.MachineEnv.OwnerGroups)
                    {
                        writer.WriteStartElement("Group");
                        writer.WriteString(str2);
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
                writer.WriteStartElement("AppEnv");
                if (!string.IsNullOrEmpty(this.AppEnv.AppName))
                {
                    writer.WriteStartElement("AppName");
                    writer.WriteString(this.AppEnv.AppName);
                    writer.WriteEndElement();
                }
                if (!string.IsNullOrEmpty(this.AppEnv.Version))
                {
                    writer.WriteStartElement("AppVerion");
                    writer.WriteString(this.AppEnv.Version);
                    writer.WriteEndElement();
                }
                if (this.AppEnv.Modules.Count > 0)
                {
                    writer.WriteStartElement("Modules");
                    foreach (string str3 in this.AppEnv.Modules)
                    {
                        writer.WriteStartElement("Module");
                        writer.WriteString(str3);
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
                if (!string.IsNullOrEmpty(this.ExtData))
                {
                    writer.WriteStartElement("ExtData");
                    writer.WriteCData(this.ExtData);
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
                writer.Flush();
                return stream.ToArray();
            }
        }

        public override string ToString()
        {
            return Encoding.UTF8.GetString(this.ToArray());
        }

        public AppEnvironment AppEnv
        {
            get
            {
                return this._appEnv;
            }
        }

        public string ExtData
        {
            get
            {
                return this._ExtData;
            }
            set
            {
                this._ExtData = value;
            }
        }

        public MachineEnvironment MachineEnv
        {
            get
            {
                return this._MachineEnv;
            }
        }

        public DateTime TimeStamp
        {
            get
            {
                return this._TimeStamp;
            }
            set
            {
                this._TimeStamp = value;
            }
        }

        public string Version
        {
            get
            {
                return this._Version;
            }
            set
            {
                this._Version = value;
            }
        }

        public class AppEnvironment
        {
            private List<string> _modules = new List<string>();
            private string _name = string.Empty;
            private string _version = string.Empty;

            internal AppEnvironment()
            {
            }

            public string AppName
            {
                get
                {
                    return this._name;
                }
                set
                {
                    this._name = value;
                }
            }

            public List<string> Modules
            {
                get
                {
                    return this._modules;
                }
                set
                {
                    this._modules = value;
                }
            }

            public string Version
            {
                get
                {
                    return this._version;
                }
                set
                {
                    this._version = value;
                }
            }
        }

        public class MachineEnvironment
        {
            private string _HostName;
            private string _IE = string.Empty;
            private List<string> _IpList = new List<string>();
            private string _Language = string.Empty;
            private uint _MemorySize;
            private string _OS = string.Empty;
            private List<string> _OwnerGroups = new List<string>();
            private string _VideoCard = string.Empty;

            internal MachineEnvironment()
            {
            }

            public string HostName
            {
                get
                {
                    return this._HostName;
                }
                set
                {
                    this._HostName = value;
                }
            }

            public string IE
            {
                get
                {
                    return this._IE;
                }
                set
                {
                    this._IE = value;
                }
            }

            public List<string> IpList
            {
                get
                {
                    return this._IpList;
                }
            }

            public string Language
            {
                get
                {
                    return this._Language;
                }
                set
                {
                    this._Language = value;
                }
            }

            public uint MemorySize
            {
                get
                {
                    return this._MemorySize;
                }
                set
                {
                    this._MemorySize = value;
                }
            }

            public string OS
            {
                get
                {
                    return this._OS;
                }
                set
                {
                    this._OS = value;
                }
            }

            public List<string> OwnerGroups
            {
                get
                {
                    return this._OwnerGroups;
                }
                set
                {
                    this._OwnerGroups = value;
                }
            }

            public string VideoCard
            {
                get
                {
                    return this._VideoCard;
                }
                set
                {
                    this._VideoCard = value;
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -