Skip to content

bozkurtemre/graytool

Graytool Logo

Graytool is a Chrome extension that enhances Graylog log management by injecting configurable action buttons into log rows. It helps developers jump from log entries to admin panels, user details, and internal tools faster.

How to contribute

Read more about contributing to Graytool in CONTRIBUTING.md.

Features

  • URL pattern matching to activate only on configured Graylog instances
  • Configurable buttons with URL templates and field bindings
  • Automatic field discovery from log rows (data attributes, JSON parsing, DOM patterns)
  • Conditional button visibility based on field values
  • JSON viewer and search history for log message details
  • Import/export configuration for sharing between environments
  • Multi-language support (English, Türkçe) — switchable from the options page

Project Structure

src/
  manifest.json
  background.ts
  _locales/           # Chrome i18n (en, tr)
  inject/             # Content script files
  options/            # Options UI (React)
  shared/             # Shared types, storage, i18n
  icons/

Development

Prerequisites

  • Node.js 16+ (npm)

Install

npm install

Build

npm run build

Build outputs are written into src/ for loading the extension directly.

Watch mode

npm run dev

Typecheck / Lint

npm run lint

Clean

npm run clean

Loading the Extension

  1. Run npm run build
  2. Open Chrome and navigate to chrome://extensions/
  3. Enable "Developer mode"
  4. Click "Load unpacked" and select the src directory
  5. Reload the extension after code changes

Release Package

npm run release

This produces a zip at build/release/graytool-<version>.zip using the version from package.json.