syslog

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2026 License: MIT Imports: 13 Imported by: 0

README

modules/syslog

syslog 模块已重构为 Codec + Transport(Writer) 架构,旧 Converter/Marshaler 路径已彻底移除。

配置项

modules.Config{
  "network": "udp",          // tcp / udp
  "addr": "127.0.0.1:514",
  "level": "info",           // debug/info/warn/error
  "codec": "default",        // default/json/自定义
}

默认行为

  • 使用 output.netSender 建连与重连
  • 输出格式为 @cee: <payload>
  • 默认 Codec: default

扩展点

  • 自定义 Codec: RegisterCodec(codec)
  • 自定义 Writer: 直接通过 Option.Writer 注入

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSyslogHandler

func NewSyslogHandler(w io.Writer, o *Option) slog.Handler

func RegisterCodec added in v0.2.0

func RegisterCodec(codec Codec) error

Types

type Codec added in v0.2.0

type Codec interface {
	Name() string
	Encode(ctx context.Context, record *slog.Record, attrs []slog.Attr, groups []string) ([]byte, error)
}

Codec converts slog records to payload bytes (without CEE prefix).

func GetCodec added in v0.2.0

func GetCodec(name string) (Codec, bool)

type Option

type Option struct {
	// log level (default: info)
	Level slog.Leveler

	// connection target writer
	Writer io.Writer

	// optional: fetch attributes from context
	AttrFromContext []func(ctx context.Context) []slog.Attr

	// optional: codec
	Codec Codec
}

type SyslogAdapter

type SyslogAdapter struct {
	*modules.BaseModule
	// contains filtered or unexported fields
}

SyslogAdapter Syslog模块适配器

func NewSyslogAdapter

func NewSyslogAdapter() *SyslogAdapter

NewSyslogAdapter 创建Syslog适配器

func (*SyslogAdapter) Configure

func (s *SyslogAdapter) Configure(config modules.Config) error

Configure 配置Syslog模块

type SyslogHandler

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

func (*SyslogHandler) Enabled

func (h *SyslogHandler) Enabled(_ context.Context, level slog.Level) bool

func (*SyslogHandler) Handle

func (h *SyslogHandler) Handle(ctx context.Context, record slog.Record) error

func (*SyslogHandler) WithAttrs

func (h *SyslogHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (*SyslogHandler) WithGroup

func (h *SyslogHandler) WithGroup(name string) slog.Handler

Jump to

Keyboard shortcuts

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