OSDN Git Service

error.logに出力していた内容をエラーダイアログに表示する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 20 Nov 2017 15:03:55 +0000 (00:03 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 20 Nov 2017 15:34:02 +0000 (00:34 +0900)
KancolleSniffer/ErrorDialog.cs
KancolleSniffer/MainForm.cs

index cb7bac9..73a4a55 100644 (file)
@@ -32,7 +32,7 @@ namespace KancolleSniffer
             if (Visible)\r
                 return DialogResult.Ignore;\r
             labelMessage.Text = message;\r
-            textBoxDetails.Text = details.Length < 1500 ? details : details.Substring(0, 1500) + "...";\r
+            textBoxDetails.Text = details;\r
             return ShowDialog(owner);\r
         }\r
     }\r
index 18321a7..3cbdde2 100644 (file)
@@ -106,9 +106,9 @@ namespace KancolleSniffer
             }\r
             catch (RuntimeBinderException e)\r
             {\r
-                WriteErrorLog(url, request, response, e.ToString());\r
                 if (_errorDialog.ShowDialog(this,\r
-                    "艦これに仕様変更があったか、受信内容が壊れています。", e.ToString()) == DialogResult.Abort)\r
+                        "艦これに仕様変更があったか、受信内容が壊れています。",\r
+                        GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
                     Application.Exit();\r
             }\r
             catch (LogIOException e)\r
@@ -119,18 +119,17 @@ namespace KancolleSniffer
             }\r
             catch (Exception e)\r
             {\r
-                WriteErrorLog(url, request, response, e.ToString());\r
-                if (_errorDialog.ShowDialog(this, "エラーが発生しました。", e.ToString()) == DialogResult.Abort)\r
+                if (_errorDialog.ShowDialog(this, "エラーが発生しました。",\r
+                        GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
                     Application.Exit();\r
             }\r
         }\r
 \r
-        private void WriteErrorLog(string url, string request, string response, string exception)\r
+        private string GenerateErrorLog(string url, string request, string response, string exception)\r
         {\r
             RemoveSensitiveInformation(ref request, ref response);\r
             var version = string.Join(".", Application.ProductVersion.Split('.').Take(2));\r
-            File.AppendAllText("error.log",\r
-                $"{DateTime.Now:g} {version}\r\n{exception}\r\n{url}\r\n{request}\r\n{response}\r\n\r\n");\r
+            return $"{DateTime.Now:g} {version}\r\n{exception}\r\n{url}\r\n{request}\r\n{response}\r\n";\r
         }\r
 \r
         private void RemoveSensitiveInformation(ref string request, ref string response)\r