Skip to content

Plugin for Opencode. Logs supported events into jsonl file.

License

Notifications You must be signed in to change notification settings

radekBednarik/opencode-logger

Repository files navigation

opencode-logger

This small package is intended to be used as Opencode plugin.

See plugins documentation.

This plugin handles logging of all supported events.

Events are logged as jsonl to the

<project-root>/logs/opencode/log.jsonl

Usage

In your project open (or set) your opencode.json or opencode.jsonc file and add:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-logger"]
}

Configuration

You can customize the log directory, filename, and logging scope using environment variables.

Variable Description Default
OPENCODE_LOGGER_DIR The directory where logs are stored. Can be absolute or relative to project root. logs/opencode
OPENCODE_LOGGER_FILENAME The filename for the log file. log.jsonl
OPENCODE_LOGGER_SCOPE Comma-separated list of event types to log. Supports wildcards (e.g., session.*). * (Log all events)

Setting via CLI

You can set them when starting the Opencode client:

OPENCODE_LOGGER_DIR=/tmp/my-logs opencode

Setting by exporting ENV variables

Or export them, for example in your ~/.bashrc

export OPENCODE_LOGGER_DIR=/tmp/my-logs
export OPENCODE_LOGGER_FILENAME=custom-name.jsonl

Logging Scope

You can filter which events are logged using the OPENCODE_LOGGER_SCOPE environment variable. It accepts a comma-separated string of event types or patterns.

  • * (Default): Logs all events.
  • session.*: Logs all events starting with session. (e.g., session.created, session.updated).
  • command.executed,file.edited: Logs only these specific events.

Example:

export OPENCODE_LOGGER_SCOPE="session.*,command.executed"

About

Plugin for Opencode. Logs supported events into jsonl file.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published