errores

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: LGPL-3.0 Imports: 7 Imported by: 0

Documentation

Overview

Archivos de registro (Logger)

Gestión de panics

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func PanicIfError

func PanicIfError(err error, params ...any)

Panic si error

Example
s := "42"
k, err := strconv.Atoi(s)
PanicIfError(err, "La cadena %q no se puede convertir a entero", s)
fmt.Println(k)
Output:

42

func PanicIfTrue

func PanicIfTrue(condition bool, msg string, params ...any)

Panic si condición

Example
z := 2 * 3
PanicIfTrue(z != 6, "Error en multiplicación: 2x3=%d", z)
fmt.Println(6)
Output:

6

Types

type Logger

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

func NewLogger

func NewLogger(file string, debug bool) *Logger

Crea un logger. Si file=="", le salida se producirá por consola. A file se le añade el sufijo .log automáticamente.

func (*Logger) BadHttpRequest

func (logger *Logger) BadHttpRequest(msg string, causa any) map[string]any

Registra una solicitud HTTP incorrecta y devuelve un mensaje JSON de respuesta que incluye el mensaje de error y opcionalmente la causa

Example
logger := NewLogger("", true)
mensaje := "Mensaje para usuario"
causa := "Causa del error para depuración"
r := logger.BadHttpRequest(mensaje, errors.New(causa))
fmt.Println(r)
Output:

WARN: Mensaje para usuario: Causa del error para depuración
map[causa:Causa del error para depuración error:Mensaje para usuario]

func (*Logger) Errorf

func (logger *Logger) Errorf(format string, v ...any)

Registra un ERROR

Example
logger := NewLogger("", true)
logger.Errorf("sin parámetros")
logger.Errorf("con parámetro %q", "parámetro")
logger = NewLogger("", false)
logger.Errorf("con debug=false, se registra el mensaje en fichero o en STDERR")
Output:

func (*Logger) Infof

func (logger *Logger) Infof(format string, v ...any)

Registra un INFO (solo en modo DEBUG)

Example
logger := NewLogger("", true)
logger.Infof("sin parámetros")
logger.Infof("con parámetro %q", "parámetro")
logger = NewLogger("", false)
logger.Infof("con debug=false, no se registra el mensaje")
Output:

INFO: sin parámetros
INFO: con parámetro "parámetro"

func (*Logger) Warnf

func (logger *Logger) Warnf(format string, v ...any)

Registra un WARN

Example
logger := NewLogger("", true)
logger.Warnf("sin parámetros")
logger.Warnf("con parámetro %q", "parámetro")
logger = NewLogger("", false)
logger.Warnf("con debug=false, se registra el mensaje en fichero o en STDOUT")
Output:

WARN: sin parámetros
WARN: con parámetro "parámetro"
WARN: con debug=false, se registra el mensaje en fichero o en STDOUT

Jump to

Keyboard shortcuts

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