예제 #1
0
        private void LoadFiles()
        {
            // Récupération des fichiers dans le répertoire
            var allFiles = Directory.GetFiles(_pathBaseLog);

            foreach (var filePath in allFiles)
            {
                string fileName = Path.GetFileNameWithoutExtension(filePath);

                FileLog fileLog = new FileLog(fileName, filePath);
                FilesLog.Add(fileLog);
            }
        }
예제 #2
0
    protected void ReloadData()
    {
        if (StorageHelper.IsExternalStorage)
        {
            this.drpOperationType.Visible = true;
            this.lblOperationType.Visible = true;
            if (!RequestHelper.IsPostBack())
            {
                this.drpOperationType.Items.Add(new ListItem(GetString("general.selectall"), ""));
                this.drpOperationType.Items.Add(new ListItem(GetString("general.general"), IOOperationType.General.ToString()));
                this.drpOperationType.Items.Add(new ListItem(GetString("FilesLog.TypeAzureBlob"), IOOperationType.AzureBlob.ToString()));
            }
        }

        if (!File.DebugFiles)
        {
            this.lblInfo.Text = GetString("DebugFiles.NotConfigured");
        }
        else
        {
            this.plcLogs.Controls.Clear();

            for (int i = File.LastLogs.Count - 1; i >= 0; i--)
            {
                try
                {
                    // Get the log
                    RequestLog log = (RequestLog)File.LastLogs[i];
                    if (log != null)
                    {
                        // Load the table
                        DataTable dt = log.LogTable;
                        if (!DataHelper.DataSourceIsEmpty(dt))
                        {
                            bool            display       = true;
                            IOOperationType operationType = IOOperationType.All;
                            if (StorageHelper.IsExternalStorage)
                            {
                                string type = (this.drpOperationType.SelectedValue == null ? "" : this.drpOperationType.SelectedValue.ToLower());
                                switch (type)
                                {
                                case "azureblob":
                                    operationType = IOOperationType.AzureBlob;
                                    break;

                                case "general":
                                    operationType = IOOperationType.General;
                                    break;
                                }

                                // Apply operation type filter
                                DataView dv = new DataView(dt);
                                if (operationType != IOOperationType.All)
                                {
                                    dv.RowFilter = "OperationType = '" + operationType.ToString() + "'";
                                }

                                display = !DataHelper.DataSourceIsEmpty(dv);
                            }

                            if (display)
                            {
                                // Load the control
                                FilesLog logCtrl = (FilesLog)LoadControl("~/CMSAdminControls/Debug/FilesLog.ascx");
                                logCtrl.ID = "filesLog_" + i;
                                logCtrl.EnableViewState     = false;
                                logCtrl.Log                 = log;
                                logCtrl.LogStyle            = "";
                                logCtrl.ShowCompleteContext = this.chkCompleteContext.Checked;
                                logCtrl.OperationTypeFilter = operationType;

                                // Add to the output
                                this.plcLogs.Controls.Add(new LiteralControl("<div>&lrm;<strong>&nbsp;" + GetRequestLink(log.RequestURL, log.RequestGUID) + "</strong> (" + log.RequestTime.ToString("hh:mm:ss") + ")&lrm;<br /><br />"));
                                this.plcLogs.Controls.Add(logCtrl);
                                this.plcLogs.Controls.Add(new LiteralControl("</div><br /><br />"));
                            }
                        }
                    }
                }
                catch
                {
                }
            }
        }
    }
    protected void ReloadData()
    {
        drpOperationType.Visible = true;
        lblOperationType.Visible = true;

        if (!RequestHelper.IsPostBack())
        {
            var items = drpOperationType.Items;
            items.Add(new ListItem(GetString("general.selectall"), ""));
            items.Add(new ListItem(GetString("FilesLog.TypeFileSystem"), IOProviderName.FileSystem));
            items.Add(new ListItem(GetString("FilesLog.TypeZip"), IOProviderName.Zip));
            items.Add(new ListItem(GetString("FilesLog.TypeAzureBlob"), IOProviderName.Azure));
            items.Add(new ListItem(GetString("FilesLog.TypeAmazonS3"), IOProviderName.Amazon));
        }

        if (FileDebug.Settings.Enabled)
        {
            plcLogs.Controls.Clear();

            var logs = FileDebug.Settings.LastLogs;

            RequestLog lastLog = null;

            for (int i = logs.Count - 1; i >= 0; i--)
            {
                try
                {
                    // Get the log
                    RequestLog log = logs[i];
                    if (log != null)
                    {
                        // Load the table
                        DataTable dt = log.LogTable;
                        if (!DataHelper.DataSourceIsEmpty(dt))
                        {
                            var providerName = drpOperationType.SelectedValue;

                            DataView dv;

                            // Apply operation type filter
                            lock (dt)
                            {
                                dv = new DataView(dt);
                                if (!String.IsNullOrEmpty(providerName))
                                {
                                    dv.RowFilter = "ProviderName = '" + providerName + "'";
                                }
                            }

                            bool display = !DataHelper.DataSourceIsEmpty(dv);
                            if (display)
                            {
                                // Load the control
                                FilesLog logCtrl = (FilesLog)LoadLogControl(log, "~/CMSAdminControls/Debug/FilesLog.ascx", i);

                                logCtrl.PreviousLog         = lastLog;
                                logCtrl.ShowCompleteContext = chkCompleteContext.Checked;
                                logCtrl.ProviderName        = providerName;
                                logCtrl.WriteOnly           = chkWriteOnly.Checked;

                                // Add to the output
                                plcLogs.Controls.Add(logCtrl);

                                lastLog = log;
                            }
                        }
                    }
                }
                catch
                {
                }
            }
        }
    }