Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Implement api to accept empty error

Abierto
#94 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
go
Área
tooling

Línea de trabajo

Comienza comparando la implementación referenciada de zerolog log.Err(err) en log.go con la API slog existente. Aclara la forma de llamada propuesta y verifica el comportamiento esperado para errores nil y no nil, incluidos los campos estructurados; se considera terminado cuando la API y sus pruebas cubren ambos niveles de registro.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Zerolog has this nifty api log.Err(err error) that is Error level if err != nil and Info level if err == nil

The basic gist to avoid this common code:

authenticated, err := auth()
if err != nil {
  slog.Error(ctx, "failed to authorize user"
    slog.Error(err),
    slog.F("user", "alice")
  )
  return
}

slog.Info(ctx, "authorized user",
    slog.F("user", "alice"),
)
...

and you can just do (the message becomes the action, and the Error level indicates the action failed):

authenticated, err := auth()
// Unsure exactly on the API, still adapting to slog, so unsure what would be "natural" 
slog.Err(err).(ctx, "authorize user", 
  slog.F("user", "alice")
)

if err != nil {
  return
}
...

It is a small feature I miss. Let me know what you think.

Lenguaje dominante
Go
Estrellas
350
Forks
23
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de coder/slog

Todos los issues de coder/slog

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.