From c1aabd3aaa92b072591fc368d81ab2cc37a0aa14 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 27 三月 2026 17:33:25 +0800
Subject: [PATCH] 路由变更

---
 Code/WCS/docs(superpowers)/specs/2026-03-27-task-logging-design.md |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 167 insertions(+), 0 deletions(-)

diff --git "a/Code/WCS/docs\050superpowers\051/specs/2026-03-27-task-logging-design.md" "b/Code/WCS/docs\050superpowers\051/specs/2026-03-27-task-logging-design.md"
new file mode 100644
index 0000000..06d9025
--- /dev/null
+++ "b/Code/WCS/docs\050superpowers\051/specs/2026-03-27-task-logging-design.md"
@@ -0,0 +1,167 @@
+# 浠诲姟鏃ュ織澧炲己璁捐鏂囨。
+
+## 姒傝堪
+
+涓� `RobotJob`銆乣ConveyorLineNewJob`銆乣StackerCraneJob` 涓変釜妯″潡娣诲姞瀹屽杽鐨勬棩蹇楄褰曞姛鑳姐��
+
+## 鏃ュ織瑙勮寖
+
+### 鏃ュ織绾у埆瀹氫箟锛堜弗鏍兼寜璇箟锛�
+
+| 绾у埆 | 鐢ㄩ�� | 绀轰緥鍦烘櫙 |
+|------|------|----------|
+| `Info` | 姝e父娴佺▼鑺傜偣 | 浠诲姟寮�濮嬪鐞嗐�佸懡浠や笅鍙戞垚鍔熴�佺姸鎬佽浆鎹㈠畬鎴� |
+| `Warn` | 闇�瑕佸叧娉ㄤ絾闈為敊璇� | 瀹㈡埛绔柇杩為噸璇曘�佺珯鍙颁笉鍙敤銆佺増鏈啿绐� |
+| `Error` | 寮傚父/澶辫触 | WMS 璋冪敤澶辫触銆佸懡浠ゅ彂閫佸け璐ャ�佷换鍔℃煡璇㈠け璐� |
+| `Debug` | 璇︾粏淇℃伅 | 杞鎿嶄綔銆佺紦瀛樿鍙栵紙鍙�夛級 |
+
+### 鏃ュ織杈撳嚭鏂瑰紡
+
+1. **ILogger<T>** - 閫氳繃渚濊禆娉ㄥ叆鎴栫埗绫讳紶閫�
+2. **QuartzLogger** - 寮傛鏂囦欢鏃ュ織锛屽悓鏃惰褰�
+
+```csharp
+// 鏍囧噯鏃ュ織鍐欐硶
+_logger.LogInformation("娑堟伅鍐呭");
+QuartzLogger.Info("娑堟伅鍐呭", source);
+```
+
+## 淇敼娓呭崟
+
+### RobotJob 妯″潡
+
+#### RobotJob.cs
+- 鐘舵�侊細宸叉湁 ILogger锛屾棤闇�淇敼
+
+#### RobotClientManager.cs
+- 娣诲姞 `ILogger<RobotClientManager>`
+- 淇鏂繛鏃ュ織锛歐arn 鈫� Info锛堝鎴风鏂紑鏄甯告祦绋嬶級
+- 娣诲姞 EnsureClientSubscribed 涓殑閲嶈瘯/涓嶅彲鐢ㄦ棩蹇�
+
+#### RobotTaskProcessor.cs
+- 娣诲姞 `ILogger<RobotTaskProcessor>`
+- 淇 SendSocketRobotPickAsync锛欵rror 鈫� Info锛堟垚鍔熶笅鍙戝簲璁板綍 Info锛�
+- 娣诲姞 HandleInboundTaskAsync 鐨� WMS 璋冪敤缁撴灉鏃ュ織
+
+#### RobotStateManager.cs
+- 娣诲姞 `ILogger<RobotStateManager>`
+- 鏋勯�犲嚱鏁扮殑 GetOrCreateState 娣诲姞 Info 鏃ュ織
+- TryUpdateStateSafely 娣诲姞鐗堟湰鍐茬獊 Warn 鏃ュ織
+
+#### RobotMessageHandler.cs
+- 宸叉湁 ILogger锛屽凡鏈夎壇濂芥棩蹇楋紝淇濇寔涓嶅彉
+
+#### RobotWorkflowOrchestrator.cs
+- 娣诲姞 `ILogger<RobotWorkflowOrchestrator>`
+- ExecuteAsync 娣诲姞鐘舵�佹満鍐崇瓥鏃ュ織锛堟弧瓒虫潯浠舵椂璁板綍 Info锛�
+- HandlePickFinishedStateAsync 娣诲姞鏀捐揣鎸囦护涓嬪彂鏃ュ織
+- HandlePutFinishedStateAsync 娣诲姞鍙栬揣鎸囦护涓嬪彂鏃ュ織
+
+### ConveyorLineNewJob 妯″潡
+
+#### CommonConveyorLineNewJob.cs
+- 娣诲姞 `ILogger<CommonConveyorLineNewJob>`
+- Execute 鏂规硶锛�
+  - 瀛愯澶囨暟閲忎负 0锛欼nfo
+  - Parallel.For 寮�濮嬶細Debug
+  - 鍛戒护涓虹┖璺宠繃锛欴ebug
+  - WCS_ACK 澶勭悊锛欴ebug
+  - 妫�鏌ユ墭鐩樹綅缃細Info
+  - PLC_STB 妫�鏌ワ細Debug
+  - 鏃犳潯鐮佽姹傚嚭搴擄細Info
+  - 鏈変换鍔″彿澶勭悊浠诲姟锛欼nfo
+  - 寮傚父鎹曡幏锛欵rror
+- ProcessTaskState 鏂规硶锛氭坊鍔犲悇鐘舵�佸垎鏀殑鍏ュ彛鏃ュ織
+
+#### ConveyorLineDispatchHandler.cs
+- 娣诲姞 `ILogger<ConveyorLineDispatchHandler>`
+- HeartBeat锛欴ebug
+- RequestInbound锛欼nfo锛堝叆搴撹姹傚紑濮嬶級
+- RequestInNextAddress锛欼nfo锛堝叆搴撲笅涓�鍦板潃锛�
+- ConveyorLineInFinish锛欼nfo锛堝叆搴撳畬鎴愶級
+- RequestOutbound锛欼nfo锛堝嚭搴撹姹傦級
+- RequestOutNextAddress锛欼nfo锛堝嚭搴撲笅涓�鍦板潃锛�
+- ConveyorLineOutFinish锛欼nfo锛堝嚭搴撳畬鎴愶級
+
+#### ConveyorLineTaskFilter.cs
+- 娣诲姞 `ILogger<ConveyorLineTaskFilter>`
+- QueryPendingTask锛欴ebug
+- QueryExecutingTask锛欴ebug
+- RequestWmsTask锛欼nfo锛圵MS 璇锋眰锛�
+
+#### ConveyorLineTargetAddressSelector.cs
+- 娣诲姞 `ILogger<ConveyorLineTargetAddressSelector>`
+- HandleInboundNextAddress锛欴ebug
+- HandleOutboundNextAddress锛欴ebug
+- HandleDeviceRequest锛欴ebug
+- ProcessDeviceRequest锛欴ebug
+
+### StackerCraneJob 妯″潡
+
+#### CommonStackerCraneJob.cs
+- 娣诲姞 `ILogger<CommonStackerCraneJob>`
+- Execute 鏂规硶锛�
+  - 鍙傛暟鏃犳晥锛歐arn
+  - 浜嬩欢璁㈤槄锛欼nfo
+  - 浠诲姟瀹屾垚妫�鏌ワ細Debug
+  - 涓嶅彲鍙戦�佷换鍔★細Debug
+  - 浠诲姟閫夋嫨缁撴灉锛欼nfo锛堥�変腑浠诲姟鍙锋垨鏃犱换鍔★級
+  - 鍛戒护鏋勫缓缁撴灉锛欼nfo
+  - 鍛戒护鍙戦�佺粨鏋滐細Info
+  - 寮傚父鎹曡幏锛欵rror
+- CommonStackerCrane_StackerCraneTaskCompletedEventHandler锛欼nfo
+- LoadConfig 澶辫触锛歐arn
+
+#### StackerCraneTaskSelector.cs
+- 娣诲姞 `ILogger<StackerCraneTaskSelector>`
+- SelectTask锛欼nfo锛堜换鍔¢�夋嫨寮�濮嬨�侀�夋嫨缁撴灉锛�
+- TrySelectOutboundTask锛欴ebug
+- IsOutTaskStationAvailable锛欼nfo锛堢珯鍙板彲鐢�/涓嶅彲鐢級
+- TryAddTaskFromWms锛欼nfo
+
+#### StackerCraneCommandBuilder.cs
+- 娣诲姞 `ILogger<StackerCraneCommandBuilder>`
+- ConvertToStackerCraneTaskCommand锛欼nfo锛堝懡浠ょ被鍨嬨�佷换鍔″彿锛�
+- GetCommandType锛欴ebug
+- BuildInboundCommand锛欼nfo锛堝叆搴撳懡浠ゆ瀯寤猴級
+- BuildOutboundCommand锛欼nfo锛堝嚭搴撳懡浠ゆ瀯寤猴級
+- BuildRelocationCommand锛欼nfo锛堢Щ搴撳懡浠ゆ瀯寤猴級
+- 鍦板潃瑙f瀽澶辫触锛欵rror
+
+## ILogger 渚濊禆浼犻�掓柟妗�
+
+瀵逛簬閫氳繃 `new` 鐩存帴瀹炰緥鍖栫殑杈呭姪绫伙紝閫氳繃鐖剁被鏋勯�犲嚱鏁颁紶鍏� ILogger锛�
+
+```csharp
+// 杈呭姪绫绘帴鏀� ILogger
+public class RobotStateManager
+{
+    private readonly ILogger _logger;
+    public RobotStateManager(ICacheService cache, ILogger<RobotStateManager> logger)
+    {
+        _logger = logger;
+    }
+}
+
+// Job 鍦ㄥ垱寤鸿緟鍔╃被鏃朵紶鍏ヨ嚜宸辩殑 logger
+public RobotJob(..., ILogger<RobotJob> logger)
+{
+    _stateManager = new RobotStateManager(cache, logger);
+}
+```
+
+## 闇�淇鐨勬棩蹇楄涔夐棶棰�
+
+| 浣嶇疆 | 鍘熷啓娉� | 淇鍚� |
+|------|--------|--------|
+| RobotTaskProcessor.SendSocketRobotPickAsync | QuartzLogger.Error (鎴愬姛鏃�) | QuartzLogger.Info |
+| RobotClientManager.EnsureClientSubscribed | QuartzLogger.Info (寮傚父鏃�) | QuartzLogger.Error |
+| RobotClientManager.OnRobotReceived | QuartzLogger.Warn (鏂繛) | QuartzLogger.Info |
+
+## 楠屾敹鏍囧噯
+
+1. 鎵�鏈夊叧閿笟鍔¤妭鐐规湁 Info 鏃ュ織
+2. 寮傚父鎯呭喌鏈� Error 鏃ュ織骞跺寘鍚紓甯镐俊鎭�
+3. 闇�瑕佸叧娉ㄧ殑鎯呭喌鏈� Warn 鏃ュ織
+4. 鏃ュ織鍚屾椂杈撳嚭鍒� ILogger 鍜� QuartzLogger
+5. 鏃ュ織娑堟伅娓呮櫚锛屽寘鍚叧閿笂涓嬫枃锛堝浠诲姟鍙枫�佽澶囩紪鐮侊級

--
Gitblit v1.9.3