Skip to content

refactor: replace console statements with logger in extension-base#4928

Open
ruhil6789 wants to merge 2 commits intoKoniverse:masterfrom
ruhil6789:js-replace-console-logging
Open

refactor: replace console statements with logger in extension-base#4928
ruhil6789 wants to merge 2 commits intoKoniverse:masterfrom
ruhil6789:js-replace-console-logging

Conversation

@ruhil6789
Copy link

  • Replaced all console.* statements with logger calls across extension-base
  • Added logger instances to all service files, API files, and utilities
  • Fixed TypeScript errors related to missing logger declarations
  • Test files (.spec.ts) intentionally left unchanged

🔧 Refactor: Replace Console Statements with Structured Logger

Summary

This PR replaces all console.* statements in the extension-base package with a structured logger implementation. This enables better error tracking, debugging capabilities, and integration with monitoring tools like Sentry.

Changes Made

Fixes:#4923

Priority 1: Koni API Files

  • NFT API files (20+ files): All console statements replaced with logger

    • koni/api/nft/* - All NFT API implementations
    • koni/api/nft/transfer.ts - NFT transfer utilities
    • koni/api/nft/rmrk_nft/*, unique_nft/*, evm_nft/*, etc.
  • Staking APIs: All console statements replaced

    • koni/api/staking/bonding/* - Bonding utilities
    • koni/api/staking/relayChain.ts - Relay chain staking
    • koni/api/staking/subsquidStaking.ts - Subsquid integration
  • Other APIs: Coingecko and Dotsama APIs updated

    • koni/api/coingecko.ts - Price fetching
    • koni/api/dotsama/crowdloan.ts - Crowdloan subscriptions
    • koni/api/dotsama/domain.ts - Domain resolution

Priority 2: Core Logic Validation

  • core/logic-validation/request.ts - All validation error logging updated

Priority 3: Utils

  • utils/metadata.ts - Metadata utilities
  • utils/fee/transfer.ts - Fee estimation
  • utils/fetchStaticData.ts - Static data fetching
  • utils/fetchEvmChainInfo.ts - EVM chain info
  • utils/eth.ts - Ethereum utilities
  • utils/promise.ts - Promise handlers
  • utils/eth/parseTransaction/base.ts - Transaction parsing

Priority 4: Other Areas

  • Stores: Base.ts, TransactionHistory.ts, Keyring.ts
  • Storage: storage/index.ts - All storage operations
  • Background handlers: helpers.ts, subscriptions.ts
  • Page handlers: Substrate and EVM page handlers
  • Strategy: api-request-strategy-v2/index.ts
  • Constants: constants/index.ts

Logger Implementation Pattern

Each module now uses a dedicated logger instance:cript
import { createLogger } from '@subwallet/extension-base/utils/logger';

const moduleLogger = createLogger('ModuleName');

// Replace console.error → logger.error
// Replace console.warn → logger.warn
// Replace console.log → logger.debug/info
// Replace .catch(console.error) → .catch((e) => logger.error('Context', e))

ruhil6789 and others added 2 commits December 30, 2025 18:11
- Replaced all console.* statements with logger calls across extension-base
- Added logger instances to all service files, API files, and utilities
- Fixed TypeScript errors related to missing logger declarations
- Test files (.spec.ts) intentionally left unchanged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace console usage with centralized logger across all packages (excluding extension-base)

1 participant