亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? impslogger.cs

?? 飛信的收發(fā)使用csharp進(jìn)行開(kāi)發(fā)
?? CS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
?namespace Imps.Client.Logger
{
    using Imps.Client.Base;
    using Imps.Client.Core;
    using Imps.Client.Pc;
    using Imps.Client.Utils;
    using System;
    using System.Collections;
    using System.Diagnostics;
    using System.Globalization;
    using System.IO;
    using System.IO.Compression;
    using System.Net;
    using System.Runtime.CompilerServices;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Xml;

    public class ImpsLogger : IImpsLogger
    {
        private volatile bool _CreateNewLogFile = true;
        private Regex _ExtRegex = new Regex(@"<ExtData\s+(.*?)>(.*?)</ExtData>", RegexOptions.Compiled | RegexOptions.Multiline);
        private IFrameworkWindow _host;
        private bool _IsLogBiz = true;
        private bool _IsLogConnection = true;
        private bool _IsLogException = true;
        private bool _IsLogGeneral = true;
        private bool _IsLogInstall = true;
        private bool _IsLogLiveUpdate = true;
        private bool _IsLogLogin = true;
        private bool _IsLogSipc = true;
        private string _LogFile;
        private Hashtable _LogFileNames = new Hashtable();
        private string _LogFolder;
        private Imps.Client.Logger.LogHeader _LogHeader = new Imps.Client.Logger.LogHeader();
        private Imps.Client.Utils.LogType _LogType = (Imps.Client.Utils.LogType.SingleFile | Imps.Client.Utils.LogType.GlobalFile);
        private int _MaxLogNo = 9;
        private static string _processId = string.Empty;
        private string _ServerUrl = string.Empty;
        private int _ThresholdLevel;
        private const string FileName = "Imps";
        private const int PostMaxSize = 0x800;

        public ImpsLogger(IFrameworkWindow host)
        {
            this._host = host;
            this.LogHeader.TimeStamp = DateTime.Now;
            this.LogHeader.Version = "1.0";
            this.LogHeader.MachineEnv.OS = Environment.OSVersion.ToString();
            this.LogHeader.MachineEnv.Language = CultureInfo.CurrentCulture.Name;
            this.LogHeader.MachineEnv.IE = string.Empty;
            this.LogHeader.MachineEnv.MemorySize = GetMemorySize();
            this.LogHeader.MachineEnv.VideoCard = GetVideoCard();
        }

        private string CombineFileName(int no)
        {
            return Path.Combine(this.LogFolder, "Imps." + no.ToString("000") + ".log");
        }

        public void CreateLogFile()
        {
            if (this._CreateNewLogFile)
            {
                if (!Directory.Exists(this.LogFolder))
                {
                    Directory.CreateDirectory(this.LogFolder);
                }
                string str = string.Empty;
                for (int i = 1; i <= this.MaxLogNo; i++)
                {
                    if (!System.IO.File.Exists(str = this.CombineFileName(i)))
                    {
                        break;
                    }
                    str = string.Empty;
                }
                if (string.IsNullOrEmpty(str))
                {
                    for (int j = 2; j <= this.MaxLogNo; j++)
                    {
                        string path = this.CombineFileName(j);
                        string str3 = this.CombineFileName(j - 1);
                        if (System.IO.File.Exists(path))
                        {
                            System.IO.File.Delete(str3);
                            System.IO.File.Move(path, str3);
                        }
                    }
                    str = this.CombineFileName(this.MaxLogNo);
                }
                using (StreamWriter writer = new StreamWriter(str, false, Encoding.UTF8))
                {
                    writer.WriteLine(this.LogHeader.ToString());
                }
                this._CreateNewLogFile = false;
                this._LogFile = str;
            }
        }

        private string GetCallStack()
        {
            StackTrace trace = new StackTrace(2, true);
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < trace.FrameCount; i++)
            {
                StackFrame frame = trace.GetFrame(i);
                if (i != 0)
                {
                    builder.Append("  ");
                }
                builder.Append(frame.GetMethod());
                string fileName = frame.GetFileName();
                if (!string.IsNullOrEmpty(fileName))
                {
                    builder.Append("; " + fileName);
                    builder.Append(": " + frame.GetFileLineNumber());
                }
                builder.AppendLine();
            }
            return builder.ToString();
        }

        private string GetLogFileNameByCategory(string category)
        {
            category = category.ToLower();
            if (!this._LogFileNames.ContainsKey(category))
            {
                string path = Path.Combine(this.LogFolder, category + ".log");
                using (StreamWriter writer = new StreamWriter(path, false, Encoding.UTF8))
                {
                    writer.WriteLine(this.LogHeader.ToString());
                }
                this._LogFileNames.Add(category, path);
            }
            return (this._LogFileNames[category] as string);
        }

        private static uint GetMemorySize()
        {
            MEMORY_INFO meminfo = new MEMORY_INFO();
            GlobalMemoryStatus(ref meminfo);
            return meminfo.dwTotalPhys;
        }

        private static string GetVideoCard()
        {
            return string.Empty;
        }

        [DllImport("kernel32")]
        private static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
        private bool IsLog(string category, int infoLevel)
        {
            if ((this._host != null) && (this._host.AccountManager != null))
            {
                User currentUser = this._host.AccountManager.CurrentUser;
                if ((currentUser != null) && currentUser.Configuration.SystemSetting.RecordMyLog)
                {
                    return true;
                }
            }
            if (infoLevel >= this.ThresholdLevel)
            {
                switch (category)
                {
                    case "General":
                        return this.IsLogGeneral;

                    case "Biz":
                        return this.IsLogBiz;

                    case "Connection":
                        return this.IsLogConnection;

                    case "LogIn":
                        return this.IsLogLogin;

                    case "Sipc":
                        return this.IsLogSipc;

                    case "Exception":
                        return this.IsLogException;
                }
            }
            return false;
        }

        private bool IsNeedCallStack(string category, int level)
        {
            bool flag = ((level == 20) || (level == 0x63)) || (level == 30);
            string str = category;
            if (str == null)
            {
                return flag;
            }
            if (!(str == "Exception"))
            {
                if (str == "Sipc")
                {
                    return false;
                }
                return flag;
            }
            return true;
        }

        private void PostFile(ImpsLoggerSender sender, string logFile)
        {
            if (System.IO.File.Exists(logFile))
            {
                byte[] buffer = new byte[0x800];
                using (FileStream stream = new FileStream(logFile, FileMode.Open))
                {
                    int num;
                    while ((num = stream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        sender.Post(buffer, 0, num);
                    }
                }
            }
        }

        public void SendToServer(Imps.Client.Utils.LogType logType)
        {
            if (logType != Imps.Client.Utils.LogType.None)
            {
                if (string.IsNullOrEmpty(this.ServerUrl))
                {
                    throw new ApplicationException("未指定服務(wù)器URL");
                }
                ImpsLoggerSender sender = new ImpsLoggerSender(this._ServerUrl);
                sender.Post(this.LogHeader.ToArray());
                if ((logType | Imps.Client.Utils.LogType.GlobalFile) != Imps.Client.Utils.LogType.None)
                {
                    this.PostFile(sender, this._LogFile);
                }
                if ((logType | Imps.Client.Utils.LogType.SingleFile) != Imps.Client.Utils.LogType.None)
                {
                    foreach (string str in this._LogFileNames.Values)
                    {
                        this.PostFile(sender, str);
                    }
                }
                sender.PostEnd();
            }
        }

        private string TrimValue(string value)
        {
            if (value.Length > 1)
            {
                if ((value[0] == '"') && (value[value.Length - 1] == '"'))
                {
                    return value.Substring(1, value.Length - 2);
                }
                if ((value[0] == '\'') && (value[value.Length - 1] == '\''))
                {
                    return value.Substring(1, value.Length - 2);
                }
            }
            return value;
        }

        public void WriteLine(string category, int infoLevel, string summary, string detail, string ext)
        {
            if (this.IsLog(category, infoLevel))
            {
                try
                {
                    if (this._CreateNewLogFile && ((this.LogType & Imps.Client.Utils.LogType.GlobalFile) != Imps.Client.Utils.LogType.None))
                    {
                        this.CreateLogFile();
                    }
                    if (this.LogType != Imps.Client.Utils.LogType.None)
                    {
                        MemoryStream w = new MemoryStream();
                        using (XmlTextWriter writer = new XmlTextWriter(w, Encoding.UTF8))
                        {
                            writer.Formatting = Formatting.Indented;
                            writer.WriteStartElement("Record");
                            writer.WriteAttributeString("pid", CurrentProcessId);
                            writer.WriteAttributeString("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
                            writer.WriteAttributeString("level", infoLevel.ToString());
                            writer.WriteAttributeString("category", category);
                            writer.WriteStartElement("Summary");

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜三级在线| 欧美色网一区二区| 日韩免费高清视频| 亚洲h在线观看| 成人aa视频在线观看| 国产午夜精品久久久久久免费视 | 国产成人在线看| 精品国产乱码久久久久久闺蜜| 一区二区三区中文字幕在线观看| 99视频超级精品| 亚洲天堂福利av| 91免费小视频| 国产一区二区三区| 日韩av电影免费观看高清完整版在线观看| 成人久久视频在线观看| 国产精品久久久久久久午夜片 | 波波电影院一区二区三区| 日本一区二区高清| 国产suv精品一区二区883| 亚洲国产精品成人综合色在线婷婷 | 久久精品国产精品亚洲综合| 精品乱人伦小说| 国产精品一区二区无线| 国产精品久久久久天堂| 欧美最猛性xxxxx直播| 午夜精品福利久久久| 2020日本不卡一区二区视频| 久久99国产精品尤物| 日韩免费看的电影| 国产成人8x视频一区二区| 亚洲欧美日韩电影| 91一区二区三区在线观看| 樱花草国产18久久久久| 欧美一级理论片| 精品一区二区久久| 国产精品国产三级国产| 91片在线免费观看| 婷婷成人综合网| 91精品国产色综合久久不卡电影| 日韩综合小视频| 26uuu另类欧美| 成人看片黄a免费看在线| 2014亚洲片线观看视频免费| 国产福利一区二区三区在线视频| 国产精品美女www爽爽爽| 日韩欧美精品三级| 国产高清精品久久久久| 亚洲一区免费视频| 久久久一区二区三区捆绑**| 不卡视频在线观看| 午夜精品久久久久久久久| 国产午夜精品一区二区| 欧美理论在线播放| 九九九精品视频| 亚洲欧美日韩中文字幕一区二区三区 | 欧美电影免费观看高清完整版在线观看 | 美女诱惑一区二区| 国产精品久久免费看| 日韩一区二区高清| 91麻豆123| 国产盗摄女厕一区二区三区| 综合欧美一区二区三区| 欧美精品一区二区蜜臀亚洲| 欧洲一区二区三区在线| 麻豆精品一区二区三区| 亚洲精品免费在线播放| 精品国产一区二区三区久久影院 | 色香蕉久久蜜桃| 国产伦精一区二区三区| 日韩影院免费视频| 亚洲免费观看高清完整版在线观看熊 | 欧美影院一区二区| 91在线视频免费观看| 国产中文字幕精品| 视频在线观看国产精品| 亚洲精品免费视频| 国产精品免费aⅴ片在线观看| 日韩免费看的电影| 91精品国产综合久久久久| 欧美亚洲综合色| 成人爱爱电影网址| 国产美女精品一区二区三区| 蜜桃视频在线观看一区二区| 天天亚洲美女在线视频| 国产精品夫妻自拍| 亚洲丝袜自拍清纯另类| 国产人成一区二区三区影院| 欧美精品一区二区三| 欧美成人激情免费网| 91麻豆精品国产91| 欧美精品日韩精品| 欧美精品久久一区二区三区| 欧美三级电影在线观看| 在线观看视频一区| 欧美视频中文一区二区三区在线观看| 丁香婷婷综合色啪| 99精品国产热久久91蜜凸| 99久久亚洲一区二区三区青草| 不卡av在线免费观看| av动漫一区二区| 色婷婷综合激情| 在线观看日韩国产| 91麻豆精品国产91久久久| 91精品国产麻豆国产自产在线| 91精品国产高清一区二区三区 | 久久久www成人免费毛片麻豆| 欧美大片免费久久精品三p| 在线播放国产精品二区一二区四区| 一本久道中文字幕精品亚洲嫩 | 一本久道久久综合中文字幕| 国产成人亚洲综合a∨婷婷| 粉嫩一区二区三区在线看| 丰满少妇久久久久久久| 成人h动漫精品一区二区| 91麻豆福利精品推荐| 91在线一区二区| 欧美日韩第一区日日骚| 欧美电影免费观看高清完整版在线 | 国产精品综合一区二区三区| 成人黄色软件下载| 欧洲中文字幕精品| 欧美一级欧美一级在线播放| 久久色视频免费观看| 国产在线播放一区三区四| 国产河南妇女毛片精品久久久| 国产精品主播直播| 国产盗摄女厕一区二区三区| 91小视频免费看| 欧美老肥妇做.爰bbww视频| 亚洲精品一区二区三区影院| 欧美国产精品一区二区三区| 一区二区三区四区中文字幕| 麻豆国产精品一区二区三区| 国产不卡视频一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 欧美久久久久久久久中文字幕| 欧美xxx久久| 亚洲欧美乱综合| 国内精品久久久久影院薰衣草 | 国产精品美女久久久久久久久| 亚洲天堂精品在线观看| 欧美aaa在线| 成人激情小说乱人伦| 91美女片黄在线| 日韩午夜精品视频| 亚洲免费观看高清完整版在线 | 91热门视频在线观看| 91精品国产欧美一区二区| 国产精品嫩草久久久久| 日本亚洲三级在线| 99久久精品一区二区| 精品久久久久久久久久久久久久久| 国产精品丝袜黑色高跟| 美女久久久精品| 色哟哟日韩精品| 国产精品网站一区| 久久国产精品99精品国产 | 六月婷婷色综合| 成人va在线观看| 538在线一区二区精品国产| 欧美精品一区二区三| 午夜av区久久| 欧美天堂一区二区三区| 国产精品福利一区二区三区| 精品一区二区在线视频| 欧美日本一区二区三区四区| 亚洲精品成人在线| 成人成人成人在线视频| 久久亚洲捆绑美女| 日本欧美一区二区在线观看| 欧美在线制服丝袜| 自拍偷拍欧美精品| 国产主播一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 午夜精品久久久久久不卡8050| 国产乱子伦视频一区二区三区 | 亚洲美女视频在线观看| 成人亚洲精品久久久久软件| 欧美一区二区三区免费视频| 日日夜夜精品视频免费| 日韩精品中文字幕在线不卡尤物 | heyzo一本久久综合| 亚洲摸摸操操av| 欧美放荡的少妇| 久久aⅴ国产欧美74aaa| 国产欧美日韩视频在线观看| 99久久精品久久久久久清纯| 一区二区三区四区亚洲| 欧美一级国产精品| 国产高清在线观看免费不卡| 国产精品国产馆在线真实露脸| 欧美网站大全在线观看| 久久se精品一区精品二区| 中文字幕欧美日本乱码一线二线| 91在线国产福利| 免费在线观看成人| 久久久久久毛片| 色视频一区二区| 免费成人av资源网| 中文字幕亚洲区|