Пример #1
0
        private static void SendSoundFailureLog(Client.Sound.SoundManagerException ex)
        {
            int fileID = new Random().Next(0xFFFFFF);
            var game = Game.Game.Instance;
            FeedbackCommon.Profile profile = null;
            if (game != null && game.FeedbackInfo != null && game.FeedbackInfo.Profile != null)
                profile = game.FeedbackInfo.Profile;

            FeedbackCommon.ProgramCrash pc = new FeedbackCommon.ProgramCrash
            {
                FileID = fileID,
                Profile = profile,
                DateSent = DateTime.Now,
                GameVersion = Program.GameVersion.ToString(),
                CrashType = "Sound system"
            };
            pc.HttpPost(Settings.StatisticsURI);
            try
            {
                File.WriteAllText(Graphics.Application.ApplicationDataFolder + "Logs/SoundInitLog.txt", ex.InitLogString);
                File.WriteAllText(Graphics.Application.ApplicationDataFolder + "Logs/SoundException.txt", new System.Text.StringBuilder().AppendLine(
                    ex.Message).AppendLine(
                    ex.StackTrace).ToString()
                    );
                string fileName = String.Format(Graphics.Application.ApplicationDataFolder + "Logs/sil.{0:x6}.zip", fileID);
                using (ZipFile zipFile = new ZipFile())
                {
                    if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/ApplicationLog.txt"))
                        zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/ApplicationLog.txt");
                    if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/SoundInitLog.txt"))
                        zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/SoundInitLog.txt");
                    if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/SoundException.txt"))
                        zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/SoundException.txt");
                    if (File.Exists(Graphics.Application.ApplicationDataFolder + "Settings.xml"))
                        zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Settings.xml");
                    zipFile.Save(fileName);
                }

                FileUploader.UploadZipFile(new Uri(Settings.FileUploadURI), new FileInfo(fileName));
                if (File.Exists(fileName))
                    File.Delete(fileName);
            }
            catch
            {
                // 'silently' fail
            }
        }
Пример #2
0
        public static void SendCrashLog(String crashType)
        {
            int fileID = new Random().Next(0xFFFFFF);
            var game = Game.Game.Instance;
            FeedbackCommon.Profile profile = null;
            if (game != null && game.FeedbackInfo != null && game.FeedbackInfo.Profile != null)
                profile = game.FeedbackInfo.Profile;

            FeedbackCommon.ProgramCrash pc = new FeedbackCommon.ProgramCrash
            {
                FileID = fileID,
                Profile = profile,
                DateSent = DateTime.Now,
                GameVersion = Program.GameVersion.ToString(),
                CrashType = crashType
            };
            pc.HttpPost(Settings.StatisticsURI);

            string fileName = Graphics.Application.ApplicationDataFolder + String.Format("DebugInfo.{0:x6}.zip", fileID);
            using (ZipFile zipFile = new ZipFile())
            {
                if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/ApplicationLog.txt"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/ApplicationLog.txt");
                if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/DeviceSettingsLog.txt"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/DeviceSettingsLog.txt");
                if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/MemoryLeaks.txt"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/MemoryLeaks.txt");
                if (File.Exists(Graphics.Application.ApplicationDataFolder + "Logs/RendererProfileLog.txt"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Logs/RendererProfileLog.txt");

                if(File.Exists(Graphics.Application.ApplicationDataFolder + "Settings.json"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Settings.json");
                if (File.Exists("DefaultSettings.json"))
                    zipFile.AddFile("DefaultSettings.json");

                if (File.Exists(Graphics.Application.ApplicationDataFolder + "Settings.xml"))
                    zipFile.AddFile(Graphics.Application.ApplicationDataFolder + "Settings.xml");
                if (File.Exists("DefaultSettings.xml"))
                    zipFile.AddFile("DefaultSettings.xml");

                zipFile.Save(fileName);
            }

            FileUploader.UploadZipFile(new Uri(Settings.FileUploadURI), new FileInfo(fileName));
            if (File.Exists(fileName))
                File.Delete(fileName);
        }