logutil

package
v1.64.1 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2025 License: MIT Imports: 2 Imported by: 0

README

Package logutil

Пакет logutil предоставляет функции-утилиты для гибкого управления уровнем логирования ошибок.

Functions

LogLevelForError(err error) log.Level

Определить уровень логирования для ошибки.

LogLevelFuncForError(err error, logger log.Logger) func(ctx context.Context, message any, fields ...log.Field)

Получить функцию логирования соответствующего уровня для ошибки.

Usage

Default usage flow
package main

import (
	"context"
	"log"

	log2 "github.com/txix-open/isp-kit/log"
	"github.com/txix-open/isp-kit/log/logutil"
)

type rateLimitError struct {
	Message string
}

func (e rateLimitError) Error() string {
	return e.Message
}

func (e rateLimitError) LogLevel() log2.Level {
	return log2.WarnLevel
}

// Обработка ошибки
func processRequest() error {
	/* put here logic with request */
	return rateLimitError{Message: "some error"}
}

func main() {
	logger, err := log2.New()
	if err != nil {
		log.Fatal(err)
	}

	err = processRequest()
	logFunc := logutil.LogLevelFuncForError(err, logger)
	logFunc(context.Background(),
		"Request processing failed",
		log2.String("error", err.Error()),
	)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogLevelForError

func LogLevelForError(err error) log.Level

func LogLevelFuncForError

func LogLevelFuncForError(err error, logger log.Logger) func(ctx context.Context, message any, fields ...log.Field)

Types

type LogLevelSpecifier

type LogLevelSpecifier interface {
	LogLevel() log.Level
}

Jump to

Keyboard shortcuts

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