logger

package module
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2023 License: Apache-2.0 Imports: 7 Imported by: 1

README

go-kit/logger

Go Reference GitHub Release GoCard GitHub license

Требования

  • поля со значениями, а не строки
  • в числе полей есть имя файла и номер строки
  • в проде поля пишутся в json
  • при отладке в консоли - читаемый вывод
  • для тестов вывод пишется в буфер и его можно анализировать
  • ?? возможность влючить отладку заданного пакета

Почему github.com/go-logr/logr ?

Автор приложения, использующего ваш пакет, по разным причинам может выбрать одну из многих систем журналирования. Я предпочитаю вариант, при котором этот выбор не ограничивается моим пакетом. Т.е. мои пакеты для журналирования используют внешний интерфейс, а выбор пакета журналирования я оставляю за автором приложения.

Зачем log.V(X).Info?

По сравнению с вариантом log.Debug() и log.Warn(). использование переменной позволяет изменять уровень журналирования пакета при старте программы или в процессе ее работы.

В частности, если число для отладки (1) положить в переменную DL и для журналирования использовать log.V(DL).Info, то при отладке всего приложения можно выключить журналирование неактуального пакета инструкцией вида pkg.DL = 9.

TODO

примеры (narra? webtail?)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(cfg Config, out io.Writer) logr.Logger

New creates new logger according to Config

func NewContext

func NewContext(ctx context.Context, logger logr.Logger) context.Context

NewContext calls logr.NewContext so ypu don't need to import logr for it.

Types

type Config added in v0.2.0

type Config struct {
	Debug       bool   `long:"debug" description:"Show debug info"`
	Destination string `long:"dest" description:"Log destination (defailt: STDERR)"`
}

Config holds package configuration

Jump to

Keyboard shortcuts

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