debug

package
v0.84.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2026 License: BSD-3-Clause Imports: 9 Imported by: 0

README

Debug plugin

It logs event to stderr. Useful for debugging.

It may sample by logging the first N entries each tick. If more events are seen during the same interval, every thereafter message is logged and the rest are dropped.

For example,

- type: debug
  interval: 1s
  first: 10
  thereafter: 5

This will log the first 10 events in a one second interval as-is. Following that, it will allow through every 5th event in that interval.

If it is needed to log every entry, logger without sampling can be used,

- type: debug
  interval: 0s
Config params

interval cfg.Duration

Tick interval for sampling logging. The first N entries with a given level and message each tick. If more Entries with the same level and message are seen during the same interval, every Mth message is logged and the rest are dropped.

If set to 0, plugin uses parent logger without sampling.

Check the example above for more information.


first int

Specifies the first N entries with a given level and message each tick.

Check the example above for more information.


thereafter int

Specifies entries frequency after the first N entries. If greater than 0, every Mth message is logged and the rest are dropped. If set to 0, every entry after the first N are dropped.

Check the example above for more information.


message string default=event sample

'message' field content. Use it to determine which 'debug' action has written the log.



Generated using insane-doc

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// > @3@4@5@6
	// >
	// > Tick interval for sampling logging. The first N entries with a given level and message
	// > each tick. If more Entries with the same level and message are seen during
	// > the same interval, every Mth message is logged and the rest are dropped.
	// >
	// > If set to 0, plugin uses parent logger without sampling.
	// >
	// > Check the example above for more information.
	Interval  cfg.Duration `json:"interval" parse:"duration"` // *
	Interval_ time.Duration
	// > @3@4@5@6
	// >
	// > Specifies the first N entries with a given level and message each tick.
	// >
	// > Check the example above for more information.
	First int `json:"first"` // *
	// > @3@4@5@6
	// >
	// > Specifies entries frequency after the first N entries.
	// > If greater than 0, every Mth message is logged and the rest are dropped.
	// > If set to 0, every entry after the first N are dropped.
	// >
	// > Check the example above for more information.
	Thereafter int `json:"thereafter"` // *

	// > @3@4@5@6
	// >
	// > 'message' field content.
	// > Use it to determine which 'debug' action has written the log.
	Message string `json:"message" default:"event sample"` // *
}

! config-params ^ config-params

type Plugin

type Plugin struct {
	// contains filtered or unexported fields
}

func (*Plugin) Do

func (p *Plugin) Do(event *pipeline.Event) pipeline.ActionResult

func (*Plugin) Start

func (p *Plugin) Start(anyConfig pipeline.AnyConfig, params *pipeline.ActionPluginParams)

func (*Plugin) Stop

func (p *Plugin) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL