package debug

import "github.com/open-policy-agent/opa/internal/debug"

Index

Types

type Debug

type Debug interface {
	// Printf prints, with a short file:line-number prefix
	Printf(format string, args ...interface{})
	// Writer returns the writer being written to, which may be
	// `io.Discard` if no debug output is requested.
	Writer() io.Writer

	// Output allows tweaking the calldepth used for figuring
	// out which Go source file location is the interesting one,
	// i.e., which is included in the debug message. Useful for
	// setting up local helper methods.
	Output(calldepth int, s string) error
}

Debug allows printing debug messages.

func Discard

func Discard() Debug

Discard returns a new `Debug` that doesn't output anything. Note: We're not implementing the methods here with noop stubs since doing this way, we can propagate the "discarding" via `(Debug).Writer()`.

func New

func New(sink io.Writer) Debug

New returns a new `Debug` outputting to the passed `sink`.

Source Files

debug.go

Version
v1.4.2 (latest)
Published
May 2, 2025
Platform
linux/amd64
Imports
2 packages
Last checked
6 hours ago

Tools for package owners.