Documentation
¶
Overview ¶
Package logger provides a modular, concurrent-safe, and colorful logging utility for GoKit applications.
It supports multiple log levels (Trace, Debug, Info, Success, Warn, Error, Fatal, Panic), customizable themes, and flexible output destinations (console, file, or both via io.MultiWriter).
Basic usage:
log := logger.New(logger.NewConfig())
log.Info("Aplicación iniciada correctamente")
log.Error("No se pudo conectar a la base de datos")
Advanced usage with file output and custom level:
cfg := logger.NewConfig()
cfg.Level = logger.DebugLevel
cfg.Writer = logger.NewMultiWriter(logger.NewConsoleWriter(), fileWriter)
log := logger.New(cfg)
log.Debug("Conectando a la base de datos...")
Index ¶
- Variables
- func Debug(message string)
- func DebugWithFields(msg string, fields map[string]interface{})
- func Error(message string)
- func ErrorWithFields(msg string, fields map[string]interface{})
- func Fatal(message string)
- func Info(message string)
- func InfoWithFields(msg string, fields map[string]interface{})
- func NewConsoleWriter() io.Writer
- func NewFileWriter(filePath string) (io.Writer, error)
- func NewMultiWriter(writers ...io.Writer) io.Writer
- func Panic(message string)
- func ResetTheme()
- func SetDefault(l *Logger)
- func SetTheme(t Theme)
- func Success(message string)
- func SuccessWithFields(msg string, fields map[string]interface{})
- func Trace(message string)
- func Warn(message string)
- func WarnWithFields(msg string, fields map[string]interface{})
- type Config
- type Formatter
- type Level
- type Logger
- func (l *Logger) Debug(message string)
- func (l *Logger) DebugWithFields(message string, fields map[string]any)
- func (l *Logger) Error(message string)
- func (l *Logger) ErrorWithFields(message string, fields map[string]any)
- func (l *Logger) Fatal(message string)
- func (l *Logger) Info(message string)
- func (l *Logger) InfoWithFields(message string, fields map[string]any)
- func (l *Logger) Panic(message string)
- func (l *Logger) Success(message string)
- func (l *Logger) SuccessWithFields(message string, fields map[string]any)
- func (l *Logger) Trace(message string)
- func (l *Logger) Warn(message string)
- func (l *Logger) WarnWithFields(message string, fields map[string]any)
- type Option
- type Theme
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func DebugWithFields ¶ added in v0.0.7
func ErrorWithFields ¶ added in v0.0.7
func InfoWithFields ¶ added in v0.0.7
func NewConsoleWriter ¶
NewConsoleWriter devuelve un io.Writer que escribe en la salida estándar (consola). Es el comportamiento predeterminado, pero se expone explícitamente por claridad.
func NewFileWriter ¶
NewFileWriter crea y devuelve un io.Writer que escribe en el archivo especificado. Si el archivo no existe, intenta crearlo. Si los directorios intermedios no existen, intenta crearlos también. El archivo se abre en modo append (añadir al final).
Ejemplo de uso:
writer, err := logger.NewFileWriter("logs/app.log")
if err != nil {
log.Fatal(err)
}
func NewMultiWriter ¶ added in v0.0.7
NewMultiWriter combina múltiples destinos de escritura (por ejemplo, consola y archivo) en un único io.Writer. Cada mensaje de log se escribirá en todos los destinos proporcionados.
Ejemplo de uso (Consola + Archivo):
fileWriter, _ := logger.NewFileWriter("logs/app.log")
combinedWriter := logger.NewMultiWriter(logger.NewConsoleWriter(), fileWriter)
func ResetTheme ¶ added in v0.0.7
func ResetTheme()
func SetDefault ¶
func SetDefault(l *Logger)
func SuccessWithFields ¶ added in v0.0.7
func WarnWithFields ¶ added in v0.0.7
Types ¶
type Formatter ¶ added in v0.0.7
type Formatter struct {
// contains filtered or unexported fields
}
func NewFormatter ¶ added in v0.0.7
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
func GetDefault ¶ added in v0.0.7
func GetDefault() *Logger
func (*Logger) DebugWithFields ¶ added in v0.0.7
func (*Logger) ErrorWithFields ¶ added in v0.0.7
func (*Logger) InfoWithFields ¶ added in v0.0.7
func (*Logger) SuccessWithFields ¶ added in v0.0.7
type Option ¶ added in v0.0.7
type Option func(*Config)
func WithDateTime ¶ added in v0.0.7
func WithFileOutput ¶ added in v0.0.7
func WithWriter ¶ added in v0.0.7
type Theme ¶ added in v0.0.7
type Theme struct {
Trace string // Color para el nivel TRACE
Debug string // Color para el nivel DEBUG
Info string // Color para el nivel INFO
Success string // Color para el nivel SUCCESS
Warn string // Color para el nivel WARN
Error string // Color para el nivel ERROR
Fatal string // Color para el nivel FATAL
Panic string // Color para el nivel PANIC
Reset string // Código para restablecer el color al final de cada mensaje
}