Skip to content

Jev Logs

Scores OpenTelemetry logs with Jev for diagnostic value, priority and routing before any expensive LLM analysis.

ProjectbetaMIT

Overview

Jev Logs is a TypeScript package and OpenTelemetry exporter wrapper for teams who send logs to a reasoning model for analysis and want to stop paying for health checks and cache hits. Each log record is scored first, and only the records worth it are routed to the deeper LLM branch.

It calls TypeSafe's Jev through the Vercel AI SDK and attaches jev.* attributes to records rather than dropping them, so the archive stays complete. It can also run as a local OpenTelemetry receiver configured by a single JSON file. The decision model sits between the log pipeline and the analysis step: it produces a 0-100 diagnostic-value score, a priority and an actionable probability, and low-value records that are confidently scored can skip analysis. Errors, protected records, ambiguous scores and provider failures stay eligible.

What the decision model decides

TypeQuestionAnswers
ScoreHow diagnostically useful is this log record (0-100)?—
ScoreWhat priority does this record have?(inferred)—
Yes / noIs this record actionable and worth deeper analysis?(inferred)yes · no

How it works

  1. Wrap an existing OpenTelemetry exporter or start the local receiver on port 4318
  2. Each record is sent to Jev for diagnostic value, priority and actionability
  3. Scores are attached as jev.* attributes and every record is kept
  4. Records below the retainBelow threshold with confident scores skip the LLM-analysis branch
  5. Errors, protected records and provider failures stay eligible for analysis

Strengths

  • Cuts spend on deeper LLM analysis of low-value events
  • Annotation mode keeps resource, scope, timestamps and trace context intact
  • Fail-open behaviour: uncertain or failed scoring never hides a record
  • Configurable timeout and input-size limits

Caveats

  • Marked as preview status
  • Requires a Vercel AI Gateway key, so scoring depends on a hosted service
  • Requires Node.js 22 or later

Getting started

Install with npm install jevlogs (or run npx jevlogs), add a jevlogs.config.json at the project root and put AI_GATEWAY_API_KEY in .env.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Node (OpenTelemetry exporter / receiver)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev Logs decide?

For each log record it produces a diagnostic-value score, a priority and an actionable probability that decide whether the record goes on to LLM analysis.

Does it delete logs?

No. Annotation mode keeps every record and only adds jev.* attributes; routing only affects the separate analysis branch.

What key does it need?

A Vercel AI Gateway API key, which it uses to reach TypeSafe's Jev through the Vercel AI SDK.

Related projects

  • OpenTelemetry Collector processor that asks Jev how useful each metric is from its metadata and applies keep/drop policy.

    ServiceprototypeGo
  • OpenTelemetry trace processor that asks Jev whether an operation is diagnostic, business-critical and worth keeping, and annotates spans.

    ProjectprototypeGo
  • Splunk search command that asks Jev typed questions about events and adds probabilities, choices and scores as fields.

    AppbetaPython
  • Bash-native CLI that filters any stream by meaning with Jev, like grep for semantics, so an agent wakes only for lines that matter.

    ProjectbetaTypeScript
  • Rust CLI and TUI that streams Kubernetes logs, applies offline rules and Jev analysis to flag what matters, then hands off.

    ProjectbetaRust
  • Smart-meter fleet dashboard where code pre-filters telemetry and Jev classifies anomalies for remediation across millions of endpoints.

    ProjectprototypeTypeScript