Skip to content

Inconsistent logging: CursorHooksInstaller uses console.log instead of structured logger #649

@Naokus

Description

@Naokus

Bug Description

CursorHooksInstaller.ts uses 45+ direct console.log/error/warn calls instead of the project's structured logger. This breaks consistency with the rest of the codebase and makes log filtering/analysis difficult.

Location

File: src/services/integrations/CursorHooksInstaller.ts

Examples

// Line 218-219
console.error('Could not find MCP server script');
console.error('   Expected at: ~/.claude/plugins/marketplaces/thedotmack/plugin/scripts/mcp-server.cjs');

// Line 257-258
console.log(`  Configured MCP server in ${target === 'user' ? '~/.cursor' : '.cursor'}/mcp.json`);
console.log(`    Server path: ${mcpServerPath}`);

// Line 278
console.log(`\nInstalling Claude-Mem Cursor hooks (${target} level, ${platform})...\n`);

// ... and 40+ more instances

Impact

  • Inconsistent log format across the codebase
  • Cannot filter these logs by level (DEBUG/INFO/WARN/ERROR)
  • Missing structured metadata (timestamps, correlation IDs)
  • Harder to debug Cursor integration issues
  • Log files don't capture these messages

Files with Similar Issues

File console.* calls
CursorHooksInstaller.ts 45
worker-service.ts 46
migrations.ts 12
SettingsDefaultsManager.ts 5

Total: 177 occurrences across 20 files

Suggested Fix

Replace console calls with structured logger:

// Before
console.log(`  Configured MCP server in ${target} level`);

// After
logger.info('CURSOR', 'Configured MCP server', { target, path: mcpServerPath });

Category

  • Bug (code quality)
  • Feature
  • Documentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions