OSDN Git Service

ログを書き込むメソッドの抽象度を上げる。
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 21 Jul 2019 09:03:46 +0000 (18:03 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 21 Jul 2019 09:03:46 +0000 (18:03 +0900)
KancolleSniffer/Log/Logger.cs

index 7a3cd75..8747e41 100644 (file)
@@ -92,7 +92,12 @@ namespace KancolleSniffer.Log
 \r
         private void WriteNow(string name, string log, string header)\r
         {\r
-            _writer(name, FormatDateTime(_nowFunc()) + "," + log, header);\r
+            Write(name, _nowFunc(), log, header);\r
+        }\r
+\r
+        private void Write(string name, DateTime time, string log, string header)\r
+        {\r
+            _writer(name, FormatDateTime(time) + "," + log, header);\r
         }\r
 \r
         public void FlashLog()\r
@@ -123,8 +128,8 @@ namespace KancolleSniffer.Log
             }\r
             if ((_logType & LogType.Mission) != 0)\r
             {\r
-                _writer("遠征報告書",\r
-                    string.Join(",", FormatDateTime(_nowFunc()),\r
+                WriteNow("遠征報告書",\r
+                    string.Join(",",\r
                         resStr, json.api_quest_name, string.Join(",", material)),\r
                     "日付,結果,遠征,燃料,弾薬,鋼材,ボーキ,開発資材,高速修復材,高速建造材");\r
             }\r
@@ -141,9 +146,7 @@ namespace KancolleSniffer.Log
         {\r
             if ((_logType & LogType.Achievement) != 0 && json.api_get_eo_rate() && (int)json.api_get_eo_rate != 0)\r
             {\r
-                _writer("戦果",\r
-                    FormatDateTime(_nowFunc()) + "," + _lastExp + "," + (int)json.api_get_eo_rate,\r
-                    "日付,経験値,EO");\r
+                WriteNow("戦果", _lastExp + "," + (int)json.api_get_eo_rate, "日付,経験値,EO");\r
             }\r
             _battleLogger.InspectMapNext(json);\r
         }\r
@@ -158,9 +161,7 @@ namespace KancolleSniffer.Log
             {\r
                 if (entry.api_type != 18)\r
                     continue;\r
-                _writer("戦果",\r
-                    FormatDateTime(_nowFunc()) + "," + _lastExp + "," + (int)entry.api_count,\r
-                    "日付,経験値,EO");\r
+                WriteNow("戦果", _lastExp + "," + (int)entry.api_count, "日付,経験値,EO");\r
                 break;\r
             }\r
         }\r
@@ -179,8 +180,7 @@ namespace KancolleSniffer.Log
                     : (int)result.api_get_exmap_rate;\r
                 if (rate != 0)\r
                 {\r
-                    _writer("戦果", FormatDateTime(_nowFunc()) + "," + _lastExp + "," + rate,\r
-                        "日付,経験値,EO");\r
+                    WriteNow("戦果", _lastExp + "," + rate, "日付,経験値,EO");\r
                 }\r
             }\r
             if ((_logType & LogType.Battle) == 0)\r
@@ -201,9 +201,9 @@ namespace KancolleSniffer.Log
             {\r
                 if (_lastDate != DateTime.MinValue)\r
                 {\r
-                    _writer("戦果", FormatDateTime(_lastDate) + "," + _lastExp + ",0", "日付,経験値,EO");\r
+                    Write("戦果", _lastDate, _lastExp + ",0", "日付,経験値,EO");\r
                 }\r
-                _writer("戦果", FormatDateTime(now) + "," + exp + ",0", "日付,経験値,EO");\r
+                Write("戦果", now, exp + ",0", "日付,経験値,EO");\r
                 if (isNewMonth)\r
                 {\r
                     _endOfMonth = new DateTime(now.Year, now.Month, DateTime.DaysInMonth(now.Year, now.Month),\r
@@ -232,7 +232,7 @@ namespace KancolleSniffer.Log
                 return;\r
             if (_lastDate != DateTime.MinValue)\r
             {\r
-                _writer("戦果", FormatDateTime(_lastDate) + "," + _lastExp + ",0", "日付,経験値,EO");\r
+                Write("戦果", _lastDate, _lastExp + ",0", "日付,経験値,EO");\r
             }\r
         }\r
 \r
@@ -249,8 +249,7 @@ namespace KancolleSniffer.Log
                 name = spec.Name;\r
                 type = spec.TypeName;\r
             }\r
-            _writer("開発報告書",\r
-                FormatDateTime(_nowFunc()) + "," +\r
+            WriteNow("開発報告書",\r
                 string.Join(",", name, type,\r
                     values["api_item1"], values["api_item2"], values["api_item3"], values["api_item4"],\r
                     Secretary(), _basic.api_level),\r
@@ -271,8 +270,7 @@ namespace KancolleSniffer.Log
             var material = Enumerable.Range(1, 5).Select(i => (int)kdock["api_item" + i]).ToArray();\r
             var ship = _shipInfo.GetSpec((int)kdock.api_created_ship_id);\r
             var avail = ((dynamic[])json).Count(e => (int)e.api_state == 0);\r
-            _writer("建造報告書",\r
-                FormatDateTime(_nowFunc()) + "," +\r
+            WriteNow("建造報告書",\r
                 string.Join(",", material.First() >= 1500 ? "大型艦建造" : "通常艦建造",\r
                     ship.Name, ship.ShipTypeName, string.Join(",", material), avail, Secretary(), _basic.api_level),\r
                 "日付,種類,名前,艦種,燃料,弾薬,鋼材,ボーキ,開発資材,空きドック,秘書艦,司令部Lv");\r
@@ -300,8 +298,7 @@ namespace KancolleSniffer.Log
         public void WriteMaterialLog(DateTime now)\r
         {\r
             _prevTime = now;\r
-            _writer("資材ログ",\r
-                FormatDateTime(now) + "," +\r
+            Write("資材ログ", now,\r
                 string.Join(",", _currentMaterial),\r
                 "日付,燃料,弾薬,鋼材,ボーキ,高速建造材,高速修復材,開発資材,改修資材");\r
         }\r
@@ -315,7 +312,6 @@ namespace KancolleSniffer.Log
         {\r
             if ((_logType & LogType.RemodelSlot) == 0)\r
                 return;\r
-            var now = _nowFunc();\r
             var values = HttpUtility.ParseQueryString(request);\r
             var id = int.Parse(values["api_slot_id"]);\r
             var name = _itemInfo.GetName(id);\r
@@ -339,8 +335,7 @@ namespace KancolleSniffer.Log
             var ships = _shipInfo.Fleets[0].Ships;\r
             if (!ships[1].Empty)\r
                 ship2 = ships[1].Name + "(" + ships[1].Level + ")";\r
-            _writer("改修報告書",\r
-                FormatDateTime(now) + "," +\r
+            WriteNow("改修報告書",\r
                 string.Join(",", name, level, success, certain, useName, useNum,\r
                     diff[(int)Material.Fuel], diff[(int)Material.Bullet], diff[(int)Material.Steal],\r
                     diff[(int)Material.Bauxite],\r