Documentation
¶
Index ¶
- func WithLogrus() compogo.Option
- type Logger
- func (logger *Logger) AddHook(hook logrus.Hook)
- func (logger *Logger) Debug(i ...interface{})
- func (logger *Logger) Debugf(s string, i ...interface{})
- func (logger *Logger) Error(i ...interface{})
- func (logger *Logger) Errorf(s string, i ...interface{})
- func (logger *Logger) GetLogger(name string) compogo.Logger
- func (logger *Logger) GetStdErr() *logrus.Logger
- func (logger *Logger) GetStdOut() *logrus.Logger
- func (logger *Logger) Info(i ...interface{})
- func (logger *Logger) Infof(s string, i ...interface{})
- func (logger *Logger) Panic(i ...interface{})
- func (logger *Logger) Panicf(s string, i ...interface{})
- func (logger *Logger) Print(i ...interface{})
- func (logger *Logger) Printf(s string, i ...interface{})
- func (logger *Logger) SetLevel(level compogo.Level) error
- func (logger *Logger) Warn(i ...interface{})
- func (logger *Logger) Warnf(s string, i ...interface{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithLogrus ¶
WithLogrus возвращает опцию для подключения Logrus к приложению Compogo.
Пример:
app := compogo.NewApp("myapp",
logrus.WithLogrus(),
// другие опции...
)
Types ¶
type Logger ¶ added in v0.0.14
type Logger struct {
// contains filtered or unexported fields
}
Logger реализует интерфейс compogo.Logger на основе Logrus. Поддерживает иерархическую структуру логгеров через GetLogger, раздельные потоки вывода (stdout/stderr) и добавление хуков.
Иерархия:
- Корневой логгер создаётся через NewLogger()
- Вложенные логгеры создаются через GetLogger()
- Каждый вложенный логгер добавляет префикс [имя] к сообщениям
Пример:
logger := NewLogger()
httpLogger := logger.GetLogger("http")
httpLogger.Info("Server started") // выведет: "[http] Server started"
func NewLogger ¶ added in v0.0.14
func NewLogger() *Logger
NewLogger создаёт новый корневой логгер. Настраивает вывод в stdout/stderr и устанавливает TextFormatter.
Пример:
logger := NewLogger()
logger.Info("Application started")
func (*Logger) AddHook ¶ added in v0.0.14
AddHook добавляет хук Logrus к обоим логгерам (stdout и stderr). Используется для добавления метрик, сентинел и других расширений.
Пример:
logger.AddHook(&MetricHook{})
func (*Logger) Debug ¶ added in v0.0.14
func (logger *Logger) Debug(i ...interface{})
Debug логирует сообщение с уровнем Debug.
func (*Logger) Error ¶ added in v0.0.14
func (logger *Logger) Error(i ...interface{})
Error логирует сообщение с уровнем Error.
func (*Logger) GetLogger ¶ added in v0.0.14
GetLogger возвращает дочерний логгер с указанным именем. Дочерние логгеры кэшируются и переиспользуются. Сообщения от дочерних логгеров получают префикс [имя].
Реализует интерфейс compogo.Logger.
Пример:
httpLogger := logger.GetLogger("http")
httpLogger.Info("Server started") // "[http] Server started"
func (*Logger) GetStdErr ¶ added in v0.0.14
GetStdErr возвращает внутренний логгер для stderr. Позволяет напрямую работать с Logrus-логгером.
func (*Logger) GetStdOut ¶ added in v0.0.14
GetStdOut возвращает внутренний логгер для stdout. Позволяет напрямую работать с Logrus-логгером.
func (*Logger) Info ¶ added in v0.0.14
func (logger *Logger) Info(i ...interface{})
Info логирует сообщение с уровнем Info.
func (*Logger) Panic ¶ added in v0.0.14
func (logger *Logger) Panic(i ...interface{})
Panic логирует сообщение с уровнем Panic и вызывает panic.
func (*Logger) Panicf ¶ added in v0.0.14
Panicf логирует сообщение с уровнем Panic и вызывает panic.
func (*Logger) Print ¶ added in v0.0.14
func (logger *Logger) Print(i ...interface{})
Print логирует сообщение без уровня (аналог fmt.Print).
func (*Logger) Printf ¶ added in v0.0.14
Printf логирует форматированное сообщение без уровня (аналог fmt.Printf).
func (*Logger) SetLevel ¶ added in v0.0.14
SetLevel устанавливает уровень логирования для stdout и stderr.
Пример:
logger.SetLevel(compogo.Debug)