refactor: migrate all remaining modules to use shared aitbc.logging from aitbc-core package

- Replace `import logging` with `from aitbc.logging import get_logger` across blockchain-node scripts and coordinator-api modules
- Update logger initialization from `logging.getLogger(__name__)` to `get_logger(__name__)` in 30+ files
- Add production configuration validators for API keys, HMAC secret, and JWT secret in coordinator config
- Enhance coordinator startup with comprehensive initialization logging
This commit is contained in:
oib
2026-02-28 21:17:53 +01:00
parent f6ee77f497
commit 7cb0b30dae
81 changed files with 3378 additions and 153 deletions

View File

@@ -1,15 +1,25 @@
from fastapi import APIRouter, Depends, HTTPException, status
from fastapi import APIRouter, Depends, HTTPException, status, Request
from sqlmodel import select
from slowapi import Limiter
from slowapi.util import get_remote_address
from ..deps import require_admin_key
from ..services import JobService, MinerService
from ..storage import SessionDep
from aitbc.logging import get_logger
logger = get_logger(__name__)
limiter = Limiter(key_func=get_remote_address)
router = APIRouter(prefix="/admin", tags=["admin"])
@router.get("/stats", summary="Get coordinator stats")
async def get_stats(session: SessionDep, admin_key: str = Depends(require_admin_key())) -> dict[str, int]: # type: ignore[arg-type]
@limiter.limit("20/minute")
async def get_stats(
request: Request,
session: SessionDep,
admin_key: str = Depends(require_admin_key())
) -> dict[str, int]: # type: ignore[arg-type]
service = JobService(session)
from sqlmodel import func, select
from ..domain import Job

View File

@@ -7,7 +7,7 @@ from datetime import datetime
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query, Body
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.creative_capabilities_service import (
@@ -15,7 +15,7 @@ from ..services.creative_capabilities_service import (
)
from ..domain.agent_performance import CreativeCapability
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/agent-creativity", tags=["agent-creativity"])

View File

@@ -5,7 +5,7 @@ Provides REST API endpoints for production deployment and integration management
from fastapi import APIRouter, Depends, HTTPException, BackgroundTasks
from typing import List, Optional
import logging
from aitbc.logging import get_logger
from ..domain.agent import (
AIAgentWorkflow, AgentExecution, AgentStatus, VerificationLevel
@@ -19,7 +19,7 @@ from ..deps import require_admin_key
from sqlmodel import Session, select
from datetime import datetime
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/agents/integration", tags=["Agent Integration"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.agent_performance_service import (
@@ -21,7 +21,7 @@ from ..domain.agent_performance import (
OptimizationTarget
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/agent-performance", tags=["agent-performance"])

View File

@@ -5,7 +5,7 @@ Provides REST API endpoints for agent workflow management and execution
from fastapi import APIRouter, Depends, HTTPException, BackgroundTasks
from typing import List, Optional
import logging
from aitbc.logging import get_logger
from ..domain.agent import (
AIAgentWorkflow, AgentWorkflowCreate, AgentWorkflowUpdate,
@@ -17,7 +17,7 @@ from ..storage import SessionDep
from ..deps import require_admin_key
from sqlmodel import Session, select
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/agents", tags=["AI Agents"])

View File

@@ -5,7 +5,7 @@ Provides REST API endpoints for security management and auditing
from fastapi import APIRouter, Depends, HTTPException, BackgroundTasks
from typing import List, Optional
import logging
from aitbc.logging import get_logger
from ..domain.agent import (
AIAgentWorkflow, AgentExecution, AgentStatus, VerificationLevel
@@ -19,7 +19,7 @@ from ..storage import SessionDep
from ..deps import require_admin_key
from sqlmodel import Session, select
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/agents/security", tags=["Agent Security"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.analytics_service import MarketplaceAnalytics
@@ -16,7 +16,7 @@ from ..domain.analytics import (
AnalyticsPeriod, MetricType, InsightType, ReportType
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/analytics", tags=["analytics"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.certification_service import (
@@ -20,7 +20,7 @@ from ..domain.certification import (
PartnershipType, BadgeType
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/certification", tags=["certification"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query, Body
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.community_service import (
@@ -19,7 +19,7 @@ from ..domain.community import (
CommunityPost, Hackathon, DeveloperTier, SolutionStatus, LabStatus
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/community", tags=["community"])

View File

@@ -8,9 +8,9 @@ import uuid
import time
import json
import os
import logging
from aitbc.logging import get_logger
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
from ..schemas import (
ExchangePaymentRequest,

View File

@@ -7,7 +7,7 @@ from datetime import datetime
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query, Body
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.governance_service import GovernanceService
@@ -16,7 +16,7 @@ from ..domain.governance import (
ProposalStatus, VoteType, GovernanceRole
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/governance", tags=["governance"])

View File

@@ -4,7 +4,7 @@ REST API endpoints for advanced marketplace features including royalties, licens
"""
from typing import List, Optional
import logging
from aitbc.logging import get_logger
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel, Field
@@ -20,7 +20,7 @@ from ..schemas.marketplace_enhanced import (
MarketplaceAnalyticsRequest, MarketplaceAnalyticsResponse
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/marketplace/enhanced", tags=["Enhanced Marketplace"])

View File

@@ -4,7 +4,7 @@ REST API endpoints for enhanced marketplace features
"""
from typing import List, Optional, Dict, Any
import logging
from aitbc.logging import get_logger
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel, Field
@@ -14,7 +14,7 @@ from ..storage import SessionDep
from ..deps import require_admin_key
from sqlmodel import Session
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/marketplace/enhanced", tags=["Marketplace Enhanced"])

View File

@@ -8,7 +8,7 @@ from datetime import datetime
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query, BackgroundTasks
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
import sys
@@ -20,7 +20,7 @@ from aitbc.gpu_acceleration.parallel_processing.marketplace_cache_optimizer impo
from aitbc.gpu_acceleration.parallel_processing.marketplace_monitor import monitor as marketplace_monitor
from aitbc.gpu_acceleration.parallel_processing.marketplace_scaler import ResourceScaler, ScalingPolicy
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/marketplace/performance", tags=["marketplace-performance"])

View File

@@ -1,23 +1,27 @@
from datetime import datetime
from typing import Any
import logging
from fastapi import APIRouter, Depends, HTTPException, Response, status
from fastapi import APIRouter, Depends, HTTPException, Response, status, Request
from slowapi import Limiter
from slowapi.util import get_remote_address
from ..deps import require_miner_key
from ..schemas import AssignedJob, JobFailSubmit, JobResultSubmit, JobState, MinerHeartbeat, MinerRegister, PollRequest
from ..services import JobService, MinerService
from ..services.receipts import ReceiptService
from ..storage import SessionDep
from aitbc.logging import get_logger
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
limiter = Limiter(key_func=get_remote_address)
router = APIRouter(tags=["miner"])
@router.post("/miners/register", summary="Register or update miner")
@limiter.limit("30/minute")
async def register(
req: MinerRegister,
request: Request,
session: SessionDep,
miner_id: str = Depends(require_miner_key()),
) -> dict[str, Any]: # type: ignore[arg-type]
@@ -26,8 +30,10 @@ async def register(
return {"status": "ok", "session_token": record.session_token}
@router.post("/miners/heartbeat", summary="Send miner heartbeat")
@limiter.limit("60/minute")
async def heartbeat(
req: MinerHeartbeat,
request: Request,
session: SessionDep,
miner_id: str = Depends(require_miner_key()),
) -> dict[str, str]: # type: ignore[arg-type]

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, Depends, HTTPException, Query, BackgroundTasks, WebSocket, WebSocketDisconnect
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.multi_modal_fusion import MultiModalFusionEngine
@@ -17,7 +17,7 @@ from ..domain.agent_performance import (
CreativeCapability
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/multi-modal-rl", tags=["multi-modal-rl"])

View File

@@ -4,7 +4,7 @@ REST API endpoints for advanced agent orchestration, edge computing integration,
"""
from typing import List, Optional
import logging
from aitbc.logging import get_logger
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel, Field
@@ -23,7 +23,7 @@ from ..schemas.openclaw_enhanced import (
EcosystemDevelopmentRequest, EcosystemDevelopmentResponse
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/openclaw/enhanced", tags=["OpenClaw Enhanced"])

View File

@@ -4,7 +4,7 @@ REST API endpoints for OpenClaw integration features
"""
from typing import List, Optional, Dict, Any
import logging
from aitbc.logging import get_logger
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel, Field
@@ -14,7 +14,7 @@ from ..storage import SessionDep
from ..deps import require_admin_key
from sqlmodel import Session
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/openclaw/enhanced", tags=["OpenClaw Enhanced"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.reputation_service import ReputationService
@@ -16,7 +16,7 @@ from ..domain.reputation import (
TrustScoreCategory
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/reputation", tags=["reputation"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.reward_service import RewardEngine
@@ -15,7 +15,7 @@ from ..domain.rewards import (
AgentRewardProfile, RewardTier, RewardType, RewardStatus
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/rewards", tags=["rewards"])

View File

@@ -7,7 +7,7 @@ from datetime import datetime, timedelta
from typing import Dict, List, Optional, Any
from fastapi import APIRouter, HTTPException, Depends, Query
from pydantic import BaseModel, Field
import logging
from aitbc.logging import get_logger
from ..storage import SessionDep
from ..services.trading_service import P2PTradingProtocol
@@ -16,7 +16,7 @@ from ..domain.trading import (
TradeStatus, TradeType, NegotiationStatus, SettlementType
)
logger = logging.getLogger(__name__)
logger = get_logger(__name__)
router = APIRouter(prefix="/v1/trading", tags=["trading"])

View File

@@ -6,7 +6,7 @@ Web Vitals API endpoint for collecting performance metrics
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from typing import List, Dict, Any, Optional
import logging
from aitbc.logging import get_logger
router = APIRouter()