logger

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2026 License: MIT Imports: 8 Imported by: 0

README

logger

Table of contents

Summary

This package provides a simple asynchronous logger that processes log entries through a buffered channel and a background worker. It supports multiple log levels (debug, info, warn, error, fatal) and both text and json output formats, with structured fields for contextual metadata.

Architecture

Levels

// LevelDebug a debug level for the logger.
LevelDebug Level = "debug"
// LevelInfo an info level for the logger.
LevelInfo Level = "info"
// LevelWarn warning level for the logger.
LevelWarn Level = "warning"
// LevelError an error level for the logger.
LevelError Level = "error"
// LevelFatal an fatal level for the logger.
LevelFatal Level = "fatal"

Formats

// FormatText a simple text format for the log output.
FormatText Format = "text"
// FormatJSON a JSON format for the log output.
FormatJSON Format = "json"

Dependencies

Documentation

Overview

Package logger contains a common logger.

Index

Constants

View Source
const (

	// LevelDebug a debug level for the logger.
	LevelDebug Level = "debug"
	// LevelInfo an info level for the logger.
	LevelInfo Level = "info"
	// LevelWarn warning level for the logger.
	LevelWarn Level = "warning"
	// LevelError an error level for the logger.
	LevelError Level = "error"
	// LevelFatal an fatal level for the logger.
	LevelFatal Level = "fatal"

	// FormatText a simple text format for the log output.
	FormatText Format = "text"
	// FormatJSON a JSON format for the log output.
	FormatJSON Format = "json"

	// BufferSizeDefault async output buffer size.
	BufferSizeDefault = 1024
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DebugLogger

type DebugLogger interface {
	Debug(message string, fields ...Field)
}

type DebugfLogger

type DebugfLogger interface {
	Debugf(format string, v ...any)
}

DebugfLogger logger interface.

type DefaultLogger

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

DefaultLogger a common logger.

func New

func New(options ...Option) *DefaultLogger

New a common logger factory.

func (*DefaultLogger) Close

func (l *DefaultLogger) Close()

Close signal the worker to stop.

func (*DefaultLogger) Debug

func (l *DefaultLogger) Debug(message string, fields ...Field)

Debug a common logger debug method.

func (*DefaultLogger) Debugf

func (l *DefaultLogger) Debugf(format string, v ...any)

Debugf a common logger debug method.

func (*DefaultLogger) Done

func (l *DefaultLogger) Done()

Done signal the logger is done.

func (*DefaultLogger) Error

func (l *DefaultLogger) Error(err error, message string, fields ...Field)

Error a common logger debug method.

func (*DefaultLogger) Errorf

func (l *DefaultLogger) Errorf(err error, format string, v ...any)

Errorf a common logger error method.

func (*DefaultLogger) Fatal

func (l *DefaultLogger) Fatal(message string, fields ...Field)

Fatal a common logger debug method.

func (*DefaultLogger) Fatalf

func (l *DefaultLogger) Fatalf(format string, v ...any)

Fatalf a common logger error method.

func (*DefaultLogger) Info

func (l *DefaultLogger) Info(message string, fields ...Field)

Info a common logger debug method.

func (*DefaultLogger) Infof

func (l *DefaultLogger) Infof(format string, v ...any)

Infof a common logger info method.

func (*DefaultLogger) Warn

func (l *DefaultLogger) Warn(message string, fields ...Field)

Warn a common logger debug method.

func (*DefaultLogger) Warnf

func (l *DefaultLogger) Warnf(format string, v ...any)

Warnf a common logger warn method.

type ErrorLogger

type ErrorLogger interface {
	Error(err error, message string, fields ...Field)
}

type ErrorfLogger

type ErrorfLogger interface {
	Errorf(err error, format string, v ...any)
}

ErrorfLogger error logger.

type FatalLogger

type FatalLogger interface {
	Fatal(message string, fields ...Field)
}

type FatalfLogger

type FatalfLogger interface {
	Fatalf(format string, v ...any)
}

FatalfLogger fatal logger.

type Field

type Field struct {
	Key   string
	Value any
}

Field a custom field struct representation.

type Format

type Format string

Format a format type.

type InfoLogger

type InfoLogger interface {
	Info(message string, fields ...Field)
}

type InfofLogger

type InfofLogger interface {
	Infof(format string, v ...any)
}

InfofLogger info logger.

type Level

type Level string

Level a level type.

type Option

type Option func(logger *DefaultLogger)

Option to be used to build with optional deps.

func WithBufferSize

func WithBufferSize(bufferSize int) Option

WithBufferSize set output.

func WithFormat

func WithFormat(format Format) Option

WithFormat set format value.

func WithLevel

func WithLevel(level Level) Option

WithLevel set level value (e.g. `logger.New(logger.WithLevel(logger.LevelDebug))`).

func WithLogger

func WithLogger(logger *log.Logger) Option

WithLogger set logger.

func WithOutput

func WithOutput(output io.Writer) Option

WithOutput set output.

type WarnLogger

type WarnLogger interface {
	Warn(message string, fields ...Field)
}

type WarnfLogger

type WarnfLogger interface {
	Warnf(format string, v ...any)
}

WarnfLogger warn logger.

Jump to

Keyboard shortcuts

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