- **`internal/domain/audit/service.go` (`audit.Service`)**
    - **结构体改造**:
        -   [x] 移除 `service` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewService`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `audit.Service` 创建其专属的 `selfCtx`：`selfCtx := logs.AddCompName(ctx, "AuditService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `service` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`LogAction`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "LogAction")` 获取新的 `context.Context`
            和 `logger` 实例。
        -   [x] 将所有对 `s.logger.Warnw` 和 `s.logger.Errorw` 的调用替换为 `logger.Warnw` 和 `logger.Errorw`。
        -   [x] 确保所有对 `s.userActionLogRepository.Create` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/device/general_device_service.go` (`device.Service`)**
    - **结构体改造**:
        -   [x] 移除 `GeneralDeviceService` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewGeneralDeviceService`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `GeneralDeviceService` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "GeneralDeviceService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `GeneralDeviceService` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Switch`, `Collect`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, g.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `g.logger.Errorf`, `g.logger.Infof`, `g.logger.Warnf`, `g.logger.Debugf`, `g.logger.DPanicf`
            的调用替换为 `logger.Errorf`, `logger.Infof`, `logger.Warnf`, `logger.Debugf`, `logger.DPanicf`。
        -   [x] 确保所有对 `g.deviceRepo`, `g.deviceCommandLogRepo`, `g.pendingCollectionRepo`, `g.comm` 等依赖的调用都将
            `newCtx` 作为第一个参数传递。
- **`internal/domain/notify/notify.go` (`domain_notify.Service` - `failoverService` 实现)**
    - **结构体改造**:
        -   [x] 移除 `failoverService` 结构体中的 `log *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewFailoverService`)**:
        -   [x] 修改函数签名，移除 `log *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `failoverService` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "FailoverService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `failoverService` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`SendBatchAlarm`, `BroadcastAlarm`, `SendTestMessage`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.log.Infow`, `s.log.Errorw`, `s.log.Warnw` 的调用替换为 `logger.Infow`, `logger.Errorw`,
            `logger.Warnw`。
        -   [x] 确保所有对 `s.userRepo`, `s.primaryNotifier.Send`, `s.notifiers`, `s.notificationRepo` 等依赖的调用都将
            `newCtx` 作为第一个参数传递。
    - **内部辅助方法改造 (`sendAlarmToUser`, `recordNotificationAttempt`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.log.Errorw`, `s.log.Infow`, `s.log.Warnw` 的调用替换为 `logger.Errorw`, `logger.Infow`,
            `logger.Warnw`。
        -   [x] 确保所有对 `s.userRepo`, `s.primaryNotifier.Send`, `s.notifiers`, `s.notificationRepo` 等依赖的调用都将
            `newCtx` 作为第一个参数传递。
- **`internal/domain/pig/pen_transfer_manager.go` (`pig.PigPenTransferManager`)**
    - **结构体改造**:
        -   [x] 移除 `pigPenTransferManager` 结构体中可能存在的 `logger *logs.Logger` 成员（如果未来添加）。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewPigPenTransferManager`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `pigPenTransferManager` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "PigPenTransferManager")`。
        -   [x] 将这个 `selfCtx` 赋值给 `pigPenTransferManager` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (
      所有方法，例如 `LogTransfer`, `GetPenByID`, `GetPensByBatchID`, `UpdatePenFields`, `GetCurrentPigsInPen`,
      `GetTotalPigsInPensForBatchTx`, `ReleasePen`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数（在 `tx *gorm.DB` 之前）。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.logger.Errorf` 和 `s.logger.Infof` 的调用替换为 `logger.Errorf` 和 `logger.Infof`。
        -   [x] 确保所有对 `s.penRepo`, `s.logRepo`, `s.pigBatchRepo` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/pig/pig_trade_manager.go` (`pig.PigTradeManager`)**
    - **结构体改造**:
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewPigTradeManager`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `pigTradeManager` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "PigTradeManager")`。
        -   [x] 将这个 `selfCtx` 赋值给 `pigTradeManager` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`SellPig`, `BuyPig`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数（在 `tx *gorm.DB` 之前）。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 确保所有对 `s.tradeRepo` 的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/pig/pig_sick_manager.go` (`pig.SickPigManager`)**
    - **结构体改造**:
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewSickPigManager`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `sickPigManager` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "SickPigManager")`。
        -   [x] 将这个 `selfCtx` 赋值给 `sickPigManager` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`ProcessSickPigLog`, `GetCurrentSickPigCount`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数（在 `tx *gorm.DB` 之前）。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 确保所有对 `s.sickLogRepo`, `s.medicationLogRepo` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/pig/pig_batch_service.go` (`pig.PigBatchService`)**
    - **结构体改造**:
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewPigBatchService`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `pigBatchService` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "PigBatchService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `pigBatchService` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (
      所有方法，例如 `CreatePigBatch`, `GetPigBatch`, `UpdatePigBatch`, `DeletePigBatch`, `ListPigBatches`,
      `AssignEmptyPensToBatch`, `MovePigsIntoPen`, `ReclassifyPenToNewBatch`, `RemoveEmptyPenFromBatch`,
      `GetCurrentPigQuantity`, `GetCurrentPigsInPen`, `GetTotalPigsInPensForBatch`, `UpdatePigBatchQuantity`,
      `SellPigs`, `BuyPigs`, `TransferPigsAcrossBatches`, `TransferPigsWithinBatch`, `RecordSickPigs`,
      `RecordSickPigRecovery`, `RecordSickPigDeath`, `RecordSickPigCull`, `RecordDeath`, `RecordCull`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 确保所有对 `s.pigBatchRepo`, `s.pigBatchLogRepo`, `s.uow`, `s.transferSvc`, `s.tradeSvc`, `s.sickSvc`
            等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/plan/analysis_plan_task_manager.go` (`plan.AnalysisPlanTaskManager`)**
    - **结构体改造**:
        -   [x] 移除 `analysisPlanTaskManagerImpl` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewAnalysisPlanTaskManager`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `analysisPlanTaskManagerImpl` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "AnalysisPlanTaskManager")`。
        -   [x] 将这个 `selfCtx` 赋值给 `analysisPlanTaskManagerImpl` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Refresh`, `CreateOrUpdateTrigger`, `EnsureAnalysisTaskDefinition`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, m.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `m.logger.Info`, `m.logger.Errorf`, `m.logger.Warnf` 的调用替换为 `logger.Info`,
            `logger.Errorf`, `logger.Warnf`。
        -   [x] 确保所有对 `m.planRepo`, `m.pendingTaskRepo`, `m.executionLogRepo` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
    - **内部辅助方法改造 (`getRefreshData`, `cleanupInvalidTasks`, `addOrUpdateTriggers`, `createTriggerTask`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, m.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `m.logger.Info`, `m.logger.Errorf`, `m.logger.Warnf` 的调用替换为 `logger.Info`,
            `logger.Errorf`, `logger.Warnf`。
        -   [x] 确保所有对 `m.planRepo`, `m.pendingTaskRepo`, `m.executionLogRepo` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/plan/plan_execution_manager.go` (`plan.ExecutionManager`)**
    - **结构体改造**:
        -   [x] 移除 `planExecutionManagerImpl` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewPlanExecutionManager`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `planExecutionManagerImpl` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "PlanExecutionManager")`。
        -   [x] 将这个 `selfCtx` 赋值给 `planExecutionManagerImpl` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Start`, `Stop`)**:
        -   [x] 在 `Start` 方法中，使用 `newCtx, logger := logs.Trace(context.Background(), s.selfCtx, "Start")` 获取
            `logger` 实例进行日志记录。
        -   [x] 在 `Stop` 方法中，使用 `newCtx, logger := logs.Trace(context.Background(), s.selfCtx, "Stop")` 获取
            `logger` 实例进行日志记录。
    - **内部辅助方法改造 (`run`, `claimAndSubmit`, `handleRequeue`, `processTask`, `runTask`, `analysisPlan`,
      `updateTaskExecutionLogStatus`, `handlePlanTermination`, `handlePlanCompletion`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数（如果方法内部需要传递上下文）。
        -   [x] 在每个方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.logger.Errorf`, `s.logger.Warnf`, `s.logger.Infof`, `s.logger.DPanicf` 的调用替换为
            `logger.Errorf`, `logger.Warnf`, `logger.Infof`, `logger.DPanicf`。
        -   [x] 确保所有对 `s.pendingTaskRepo`, `s.executionLogRepo`, `s.deviceRepo`, `s.sensorDataRepo`, `s.planRepo`,
            `s.analysisPlanTaskManager`, `s.taskFactory`, `s.deviceService` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/plan/plan_service.go` (`plan.Service`)**
    - **结构体改造**:
        -   [x] 移除 `planServiceImpl` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewPlanService`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `planServiceImpl` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "PlanService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `planServiceImpl` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Start`, `Stop`, `RefreshPlanTriggers`, `CreatePlan`, `GetPlanByID`, `ListPlans`, `UpdatePlan`,
      `DeletePlan`, `StartPlan`, `StopPlan`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.logger.Errorf`, `s.logger.Infof`, `s.logger.Warnf` 的调用替换为 `logger.Errorf`,
            `logger.Infof`, `logger.Warnf`。
        -   [x] 确保所有对 `s.executionManager`, `s.taskManager`, `s.planRepo`, `s.deviceRepo`, `s.unitOfWork`,
            `s.taskFactory` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/task/task.go` (`task.TaskFactory`)**
    - **结构体改造**:
        -   [x] 移除 `taskFactory` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewTaskFactory`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `taskFactory` 创建其专属的 `selfCtx`：`selfCtx := logs.AddCompName(ctx, "TaskFactory")`。
        -   [x] 将这个 `selfCtx` 赋值给 `taskFactory` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Production`, `CreateTaskFromModel`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法内部，使用 `newCtx, logger := logs.Trace(ctx, t.selfCtx, "MethodName")` 获取新的 `context.Context`
            和 `logger` 实例。
        -   [x] 将所有对 `t.logger.Panicf` 的调用替换为 `logger.Panicf`。
        -   [x] 将所有对 `NewDelayTask`, `NewReleaseFeedWeightTask`, `NewFullCollectionTask` 的调用，传递 `newCtx`。
- **`internal/domain/task/release_feed_weight_task.go`**
    - **结构体改造**:
        -   [x] 移除 `ReleaseFeedWeightTask` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewReleaseFeedWeightTask`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `ReleaseFeedWeightTask` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "ReleaseFeedWeightTask")`。
        -   [x] 将这个 `selfCtx` 赋值给 `ReleaseFeedWeightTask` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Execute`, `OnFailure`, `ResolveDeviceIDs`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, r.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `r.logger.Infof`, `r.logger.Errorf`, `r.logger.Warnf`, `r.logger.Debugf` 的调用替换为
            `logger.Infof`, `logger.Errorf`, `logger.Warnf`, `logger.Debugf`。
        -   [x] 确保所有对 `r.deviceRepo`, `r.sensorDataRepo`, `r.feedPort` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
    - **内部辅助方法改造 (`getNowWeight`, `parseParameters`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, r.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `r.logger.Errorf`, `r.logger.Warnf` 的调用替换为 `logger.Errorf`, `logger.Warnf`。
        -   [x] 确保所有对 `r.sensorDataRepo`, `r.deviceRepo` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/task/full_collection_task.go`**
    - **结构体改造**:
        -   [x] 移除 `FullCollectionTask` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewFullCollectionTask`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `FullCollectionTask` 创建其专属的 `selfCtx`：
            `selfCtx := logs.AddCompName(ctx, "FullCollectionTask")`。
        -   [x] 将这个 `selfCtx` 赋值给 `FullCollectionTask` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Execute`, `OnFailure`, `ResolveDeviceIDs`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, t.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `t.logger.Infow`, `t.logger.Errorw` 的调用替换为 `logger.Infow`, `logger.Errorw`。
        -   [x] 确保所有对 `t.deviceRepo`, `t.deviceService` 等依赖的调用都将 `newCtx` 作为第一个参数传递。
- **`internal/domain/task/delay_task.go`**
    - **结构体改造**:
        -   [x] 移除 `DelayTask` 结构体中的 `logger *logs.Logger` 成员。
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewDelayTask`)**:
        -   [x] 修改函数签名，移除 `logger *logs.Logger` 参数，改为接收 `ctx context.Context`。
        -   [x] 在函数内部，为 `DelayTask` 创建其专属的 `selfCtx`：`selfCtx := logs.AddCompName(ctx, "DelayTask")`。
        -   [x] 将这个 `selfCtx` 赋值给 `DelayTask` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`Execute`, `OnFailure`, `ResolveDeviceIDs`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, d.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `d.logger.Infof` 和 `d.logger.Errorf` 的调用替换为 `logger.Infof` 和 `logger.Errorf`。
    - **内部辅助方法改造 (`parseParameters`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, d.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `d.logger.Errorf` 的调用替换为 `logger.Errorf`。
- **`internal/domain/token/token_service.go` (`token.Service`)**
    - **结构体改造**:
        -   [x] 新增 `selfCtx context.Context` 成员。
    - **构造函数改造 (`NewTokenService`)**:
        -   [x] 修改函数签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在函数内部，为 `tokenService` 创建其专属的 `selfCtx`：`selfCtx := logs.AddCompName(ctx, "TokenService")`。
        -   [x] 将这个 `selfCtx` 赋值给 `tokenService` 结构体的 `selfCtx` 成员。
    - **公共方法改造 (`GenerateToken`, `ParseToken`)**:
        -   [x] 修改方法签名，添加 `ctx context.Context` 作为第一个参数。
        -   [x] 在方法入口处，使用 `newCtx, logger := logs.Trace(ctx, s.selfCtx, "MethodName")` 获取新的
            `context.Context` 和 `logger` 实例。
        -   [x] 将所有对 `s.logger.*` 的调用替换为 `logger.*` (如果存在)。









