Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Copilot LoggerNew to Visual Studio Code? Get it now.
Copilot Logger

Copilot Logger

Preview

GurgenKolotyan

|
34 installs
| (0) | Free
Lightweight extension that tracks GitHub Copilot completions and chat sessions, aggregates metrics, and saves them locally as structured JSON. Data collection only - analysis and reporting must be set up separately.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Copilot Logger

This lightweight extension tracks GitHub Copilot completions and chat sessions, aggregates metrics, and saves them locally as structured JSON for further private analysis and reporting.

Note: This extension only collects and stores raw metrics data. Analysis and reporting are not included and must be set up separately by the user.

Fully local data collection with no telemetry or data transmission outside the user's machine.


Key Features

  • Local tracking of GitHub Copilot completions and chat activity
  • Automatic background collection every 30 minutes
  • Structured JSON metrics for usage reporting
  • OneDrive auto-sync - Automatic protection against DevBox rebuild data loss
  • Configurable data storage location
  • No external servers, no uploads, no dependency on network access

Designed for organizations requiring strict privacy, compliance, or offline workflows.


Requirements

  • Visual Studio Code 1.104.0+
  • GitHub Copilot extension installed
  • Active Copilot subscription

Quick Start

Installation Methods

Method 1: From VS Code Marketplace (Recommended)

  1. Install the extension from the VS Code Marketplace
  2. Look for the configuration notification in the bottom-right corner
  3. Configure your user settings when prompted

Method 2: Automatic Installation (For Teams/DevBox)

To ensure the extension is automatically installed in every new DevBox or workspace:

A. Settings Sync (Personal)

  • Enable Settings Sync in VS Code (click the gear icon → Turn on Settings Sync)
  • Select "Extensions" in the sync options
  • The extension will automatically install on all your machines

B. Workspace Recommendations (Team)

  • Add this to your project's .vscode/extensions.json:
{
  "recommendations": [
    "GurgenKolotyan.avocado-copilot-logger"
  ]
}
  • VS Code will prompt users to install recommended extensions when they open the workspace

C. DevContainer Configuration (Automatic)

  • If using DevContainers, add to .devcontainer/devcontainer.json:
{
  "customizations": {
    "vscode": {
      "extensions": [
        "GurgenKolotyan.avocado-copilot-logger"
      ]
    }
  }
}

Initial Setup

🎉 NEW: Config now syncs across machines automatically!

After installation:

  1. Important: Look for the configuration notification in the bottom-right corner
  2. Open the Command Palette: Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
  3. Run → Copilot Logger: Configure User Settings
  4. Provide name (same as your corporate email address without domain), customer name, and team/project name when prompted
  5. Enable Settings Sync (if not already): Click gear icon → Turn on Settings Sync
  6. Select "Settings" in the sync options

✅ Done! Your config will now sync to all your machines automatically.

How it works across DevBoxes: When you login to VSCode on a new DevBox (same account you use for GitHub Copilot), Settings Sync automatically downloads the extension and your config. The extension starts collecting logs immediately in the background - no reconfiguration needed! Simply login once, enable Settings Sync, and never configure again.

Alternative: You can also manually set config in VSCode Settings (Copilot Logger section):

  • User Name - Your name for tracking
  • Customer Name - Your company/customer name
  • Team - Your team or project name

Note: If you miss the initial setup notification, you can always run the configuration command from the Command Palette (step 2-4).

Validate Installation

  1. Trigger a manual collection Ctrl+Shift+P → Copilot Logger: Collect Logs
  2. When the dialog opens, navigate to the logs folder
  3. Confirm that metrics files are present

The extension will now operate in the background at regular intervals.


Data Storage

Automatic OneDrive Protection (Recommended)

NEW: for Windows user The extension automatically detects and uses OneDrive to protect your data from DevBox rebuilds!

How it works:

  • OneDrive detected → Logs automatically saved to OneDrive (protected from DevBox rebuild)
  • No OneDrive → Logs saved to Desktop (will be lost on DevBox rebuild)

OneDrive location (when detected):

~/OneDrive/CopilotLogs/{user}_{customer_name}_{team}_{hostname}-vs_code_log_collector/

Desktop location (fallback):

~/Desktop/{user}_{customer_name}_{team}_{hostname}-vs_code_log_collector/

Note: The directory name includes your machine's hostname to prevent data conflicts when using multiple devices with the same OneDrive account.

Example folder structure:

John_Doe_CustomerName_Team1_LAPTOP_ABC123-vs_code_log_collector/
├── metrics/
│   └── metrics_2025-10-15.json
├── collection-state.json      (tracks processed log files)
├── parsing_state.json          (tracks parsing progress)
├── user_config.json            (your name, customer, team)
└── notification-history.json   (notification history)

All data is stored together - if you delete the folder, all extension state is cleared (metrics, config, and tracking state).

Force Reset/Clear Extension State

⚠️ When to completely reset the extension:

  • Extension won't start or shows persistent errors
  • Need to start fresh with new configuration
  • Troubleshooting issues after data deletion

How to reset:

  1. Close VS Code completely
  2. Delete your data folder:
    • OneDrive (recommended): ~/OneDrive/CopilotLogs/{user}_{customer}_{team}_{hostname}-vs_code_log_collector/
    • Desktop (fallback): ~/Desktop/{user}_{customer}_{team}_{hostname}-vs_code_log_collector/
  3. (Optional) Also clear the bootstrap cache:
    • macOS/Linux: ~/Library/Application Support/Code/User/globalStorage/gurgenkolotyan.avocado-copilot-logger/
    • Windows: %APPDATA%\Code\User\globalStorage\gurgenkolotyan.avocado-copilot-logger\
  4. Reopen VS Code
  5. Reconfigure using Copilot Logger: Configure User Settings

Important: Deleting the data folder removes ALL extension data (metrics, config, state). The global storage cache is only used for bootstrap and can be safely deleted.

What happens during first startup?

The extension automatically handles data migration:

If you have logs on Desktop:

  1. Detects your OneDrive folder
  2. Automatically copies all logs, metrics, and state from Desktop to OneDrive
  3. Keeps the original Desktop files for safety
  4. Shows a migration summary in the Output panel

If you upgrade from an older version:

  1. Detects config/state files in VSCode global storage
  2. Automatically migrates them to your data folder (OneDrive/Desktop)
  3. Keeps a bootstrap copy in global storage for faster startup
  4. Shows migration status in the Output panel

No action needed - everything happens automatically!

Storage Priority Order

  1. Custom directory (if you set one in settings) - highest priority
  2. OneDrive (if installed and enableOneDriveSync is true) - recommended
  3. Desktop (fallback) - data lost on DevBox rebuild

Settings

Control OneDrive sync behavior in VS Code settings (Copilot Logger):

  • Enable OneDrive Sync (default: ON)

    • Automatically use OneDrive when available
    • Turn OFF to force Desktop storage
    • Requires window reload after change
  • Custom Log Directory (optional)

    • Override automatic detection
    • Useful for network drives or specific locations

For DevBox Users

⚠️ Important: Without OneDrive, all logs are lost when your DevBox is rebuilt!

Recommended:

  1. Install OneDrive on your DevBox
  2. Keep Enable OneDrive Sync turned ON
  3. Your logs will survive DevBox rebuilds automatically

Benefits:

  • Zero configuration required
  • Automatic data protection
  • Seamless across multiple DevBoxes
  • No manual backup needed

Metrics Format Overview

Example (metrics_YYYY-MM-DD.json):

{
  "date": "2025-10-08",
  "source": "copilot",
  "action": "completion",
  "servedBy": "gpt-5",
  "numRequests": 3,
  "name": "John Doe",
  "team": "DevOps",
  "customerName": "Apple",
  "ide": "Visual Studio Code"
}

Tracked elements:

  • Activity date
  • Interaction type (completion or chat)
  • Request count
  • User/team/customer identifiers from configuration
  • IDE identifier

No workspace or source code is collected.


Notification Management

The extension includes a smart notification system that prevents notification overload while keeping you informed.

Status Bar Indicator

Look for the Copilot Logger icon in the status bar (bottom-right):

  • $(check) Copilot Logger - Ready and working
  • $(sync~spin) Copilot Logger - Collecting logs
  • $(bell-dot) Copilot Logger (N) - N unread notifications
  • $(warning) Copilot Logger - Warning state
  • $(error) Copilot Logger - Error occurred

Click the status bar item to view notification history.

Notification Commands

Available via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

  • Copilot Logger: View Notification History - See all past notifications
  • Copilot Logger: Clear Notification History - Clear notification history
  • Copilot Logger: Open Notification Settings - Configure notification preferences

Notification Settings

Control which notifications appear (Settings → Copilot Logger):

  • Show Info - Informational messages (default: on)
  • Show Warnings - Warning messages (default: on)
  • Show Errors - Error messages (default: on)
  • Show Success - Success messages (default: on)
  • Quiet Mode - Only show errors (default: off)
  • Auto Show Output - Automatically open Output channel on warnings/errors (default: off)

Important: Even if you disable popup notifications, all messages are:

  • Logged to the Output channel (View → Output → Copilot Logger)
  • Saved to notification history (accessible via status bar or Command Palette)

This solves the common problem where notifications overlap and hide important alerts. You can now:

  1. Disable distracting popups without losing visibility
  2. Review all past notifications at any time
  3. Re-enable notifications easily through settings

Additional Settings

To customize storage behavior:

  1. Open Settings → search: Copilot Logger
  2. Configure options:
    • Enable OneDrive Sync - Toggle automatic OneDrive detection (default: ON)
    • Custom Log Directory - Set a custom storage path (optional)
  3. Reload the window: Ctrl+Shift+P → Reload Window

See Data Storage section above for detailed OneDrive configuration.


Troubleshooting

Issue Suggested Action
Logs not appearing Ensure Copilot suggestions or chats are used
Folder not created Verify write permissions or set custom path
OneDrive not detected Check if OneDrive is installed and running. View Output → Copilot Logger for details
Migration not working Check Output → Copilot Logger for migration status. Old files remain on Desktop for safety
Want to use Desktop instead Disable Enable OneDrive Sync in settings, then reload window
Errors shown Check View → Output → Copilot Logger

For OneDrive issues:

  • Check the Output panel (View → Output → Copilot Logger) for detailed status messages
  • The extension shows whether OneDrive was detected or not
  • If OneDrive is installed but not detected, try restarting VS Code

Force Reset Extension:

If you encounter persistent errors or need to completely reset the extension:

  1. Close VS Code
  2. Delete your data folder:
    • OneDrive: ~/OneDrive/CopilotLogs/{user}_{customer}_{team}_{hostname}-vs_code_log_collector/
    • Desktop: ~/Desktop/{user}_{customer}_{team}_{hostname}-vs_code_log_collector/
  3. (Optional) Delete the bootstrap cache:
    • macOS/Linux: ~/Library/Application Support/Code/User/globalStorage/gurgenkolotyan.avocado-copilot-logger/
    • Windows: %APPDATA%\Code\User\globalStorage\gurgenkolotyan.avocado-copilot-logger\
  4. Reopen VS Code
  5. Reconfigure using Copilot Logger: Configure User Settings

Note: All extension data is now stored in your data folder (OneDrive/Desktop). The global storage is only used as a bootstrap cache and can be safely deleted.


❓ Common Questions (Q&A)

Q: Do I need to reconfigure on every new DevBox? No! Enable Settings Sync with "Settings" checkbox, configure once, and it syncs everywhere automatically.

Q: Extension shows "Activating extensions..." and does nothing? Config not synced. Run: Cmd+Shift+P → Copilot Logger: Show Configuration Diagnostics to check. Make sure Settings Sync has "Settings" enabled, not just "Extensions".

Q: Do I need two separate logins (Copilot + Settings Sync)? Yes, but Settings Sync is one-time. After first setup, it auto-enables on all machines with same account.

Q: Error "userName is not a registered configuration"? Old extension version. Update to 1.10.0+: code --uninstall-extension GurgenKolotyan.avocado-copilot-logger && code --install-extension GurgenKolotyan.avocado-copilot-logger

Q: How to check if Settings Sync is working? Run: Cmd+Shift+P → Settings Sync: Show Synced Data. Ensure "Settings" checkbox is checked.

Q: Extension not collecting logs automatically? Check Output panel: View → Output → Copilot Logger. Look for "Configuration loaded" message. If "Unknown/Unknown/Unknown" - need to configure.


🔒 Data Privacy & Compliance

This extension adheres to strict local-only data handling:

✅ Data collected: Copilot usage metadata only.
❌ Data not collected: source code, credentials, personal content.
✅ Data storage: exclusively on the user's machine.
❌ No network transmission or analytics services.
✅ Fully transparent, open-source implementation.

Organizational users are responsible for ensuring internal compliance with data retention policies. To cease data collection → disable or uninstall the extension.


  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft