Beispiel #1
0
    /*
     * 插入XML日志列表节点
     * @Param LogListInfo  用户操作日志基本信息
     * @return 如果文件不存在或者路径不正确返回false
     **/
    public static bool initListFileNode(LogListInfo loginfo, string fullpath = "")
    {
        if (!File.Exists(currentLogFile))
        {
            return(false);
        }
        loginfo.Id       = UUID.generate();
        loginfo.Duration = 0;
        loginfo.Path     = currentLogFile;
        string   time       = DateTime.Now.ToString("HH:mm:ss");
        XElement xml        = XElement.Load(currentLogFile);
        XElement logDetails = new XElement("logDetails",
                                           new XAttribute("id", loginfo.Id),
                                           new XElement("username", loginfo.Username),
                                           new XElement("caseName", loginfo.CaseName),
                                           new XElement("beginTime", loginfo.DateTime.ToString("yyyy-MM-dd HH:mm")),
                                           new XElement("duration", loginfo.Duration),
                                           new XElement("name", loginfo.Name),
                                           new XElement("studentId", loginfo.StudentId),
                                           new XElement("path", loginfo.Path));
        XElement logs = new XElement("Logs",
                                     new XElement("Log",
                                                  new XElement("type", 0),
                                                  new XElement("time", time),
                                                  new XElement("content", "开始"))
                                     );

        xml.Add(logDetails);
        xml.Add(logs);
        xml.Save(currentLogFile);
        return(true);
    }
Beispiel #2
0
    /*
     * 创建日志文件
     * **/
    public static void CreateLogListFile()
    {
        string username = GlobalData.username; //赋值全局的用户名

        if (username != null)
        {
            if (username.Trim() == "")
            {
                Debug.Log("[InitLogInfo] Username was Empty!");
                username = "******";
            }
        }
        string fileName = username + DateTime.Now.Ticks + ".xml";

        Debug.Log("[文件名] " + fileName + "[路径名] " + Application.streamingAssetsPath + "/LogCenter/" + username + "/");
        Debug.Log(Application.streamingAssetsPath + "/LogCenter/" + username + "/");
        CreateLogListFile(Application.streamingAssetsPath + "/LogCenter/" + username + "/", fileName);
        LogListInfo logInfo     = new LogListInfo();
        CaseData    currentCase = GlobalData.selectCase;

        logInfo.CaseName  = currentCase.CaseTitle;
        logInfo.Name      = GlobalData.name;
        logInfo.Username  = GlobalData.username;
        logInfo.StudentId = GlobalData.stuID;
        logInfo.DateTime  = DateTime.Now;
        initListFileNode(logInfo);
    }
Beispiel #3
0
    /*
     * 获取所有用户名下的log信息
     * @return  List<LogListInfo>
     * **/
    public static List <LogListInfo> readXMLListFileAllUser(string xmlRootPath)
    {
        List <LogListInfo> plist  = new List <LogListInfo>();
        DirectoryInfo      drInfo = new DirectoryInfo(xmlRootPath);

        DirectoryInfo[] subDr = drInfo.GetDirectories();
        foreach (DirectoryInfo subDir in drInfo.GetDirectories())
        {
            string        subFile   = subDir.FullName + @"\";
            DirectoryInfo subDrInfo = new DirectoryInfo(subFile);
            FileInfo[]    fileInfo  = subDrInfo.GetFiles();
            foreach (FileInfo f in fileInfo)
            {
                List <LogDetailInfo> ldlist = new List <LogDetailInfo>();
                if (f.Extension == ".xml" || f.Extension == ".XML")
                {
                    XElement xlm      = XElement.Load(f.FullName);
                    var      elements = from e in xlm.Elements("logDetails") select e;
                    foreach (var element in elements)
                    {
                        LogListInfo logListinfo = new LogListInfo();
                        logListinfo.Id        = element.Attribute("id").Value;
                        logListinfo.Name      = element.Element("name").Value;
                        logListinfo.CaseName  = element.Element("caseName").Value;
                        logListinfo.StudentId = element.Element("studentId").Value;
                        logListinfo.Path      = element.Element("path").Value;
                        logListinfo.Duration  = int.Parse(element.Element("duration").Value);
                        logListinfo.DateTime  = Convert.ToDateTime(element.Element("beginTime").Value);
                        logListinfo.Username  = element.Element("username").Value;

                        var logs        = from e in xlm.Elements("Logs") select e;
                        var logelements = from e in logs.First().Elements("Log") select e;
                        foreach (var logelement in logelements)
                        {
                            LogDetailInfo logDetailInfo = new LogDetailInfo();
                            logDetailInfo.Type    = int.Parse(logelement.Element("type").Value);
                            logDetailInfo.Time    = logelement.Element("time").Value;
                            logDetailInfo.Content = logelement.Element("content").Value;
                            ldlist.Add(logDetailInfo);
                        }
                        logListinfo.LogOptlist = ldlist;
                        plist.Add(logListinfo);
                    }
                }
            }
        }
        return(plist);
    }
Beispiel #4
0
    /*
     * 查看单个当前Log日志全部信息
     * @Param 如果当前log路径为NULL的话 ,可以采用手动传参路径,默认为""
     * **/
    public static LogListInfo getCurrentSingleLogDetailInfo(string currentFullPath = "")
    {
        XElement xlm;

        if (currentLogFile == null || currentLogFile == "")
        {
            xlm = XElement.Load(currentFullPath);
        }
        else
        {
            xlm = XElement.Load(currentLogFile);
            Debug.Log(currentLogFile);
        }
        var                  elements    = from e in xlm.Elements("logDetails") select e;
        LogListInfo          logListinfo = new LogListInfo();
        List <LogDetailInfo> ldlist      = new List <LogDetailInfo>();

        foreach (var element in elements)
        {
            logListinfo.Id        = element.Attribute("id").Value;
            logListinfo.Name      = element.Element("name").Value;
            logListinfo.CaseName  = element.Element("caseName").Value;
            logListinfo.StudentId = element.Element("studentId").Value;
            logListinfo.Path      = element.Element("path").Value;
            logListinfo.Duration  = int.Parse(element.Element("duration").Value);
            logListinfo.DateTime  = Convert.ToDateTime(element.Element("beginTime").Value);
            logListinfo.Username  = element.Element("username").Value;

            var logs        = from e in xlm.Elements("Logs") select e;
            var logelements = from e in logs.First().Elements("Log") select e;
            foreach (var logelement in logelements)
            {
                LogDetailInfo logDetailInfo = new LogDetailInfo();
                logDetailInfo.Type    = int.Parse(logelement.Element("type").Value);
                logDetailInfo.Time    = logelement.Element("time").Value;
                logDetailInfo.Content = logelement.Element("content").Value;
                ldlist.Add(logDetailInfo);
            }
            logListinfo.LogOptlist = ldlist;
        }
        return(logListinfo);
    }