feat(logging): Migrate to Go structured logging with slog
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia facendo l'inventario degli usi di log.Printf e fmt.Printf in pkg/unikontainers/, pkg/containerd-shim/ e cmd/urunc/, quindi esamina il percorso di avvio della CLI per individuare dove è possibile inizializzare i flag. Il lavoro è completato quando queste aree utilizzano una configurazione slog centralizzata, i flag per il livello e il formato dei log funzionano, l'output JSON è valido e il comportamento rimane invariato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
urunc currently uses standard Go logging (log package or fmt.Printf) throughout the codebase. This produces unstructured, plain-text logs that are difficult to filter, query, or aggregate in production deployments.
Go 1.21 introduced log/slog, the standard structured logging package. Migrating to slog would enable leveled logging (Debug, Info, Warn, Error), structured key-value pairs, and JSON output.... all without external dependencies.
Proposed Work
- Introduce a centralized logger in
pkg/orinternal/usinglog/slog. - Replace
log.Printf/fmt.Printflogging calls withslog.Info,slog.Debug,slog.Erroracross:pkg/unikontainers/(VM lifecycle, network, initrd)pkg/containerd-shim/(shim operations)cmd/urunc/(CLI commands)
- Add a
--log-formatflag touruncCLI supportingtext(default) andjson. - Add a
--log-levelflag supportingdebug,info,warn,error.
Why This Matters
- Structured logs enable filtering and aggregation in production (e.g., "show all ERROR logs from network setup").
- JSON output integrates with log aggregation systems (ELK, Loki, CloudWatch).
- Aligns with modern Go practices (
runc,containerdboth use structured logging). - Zero external dependencies
slogis in the standard library.
Acceptance Criteria
-
sloglogger is initialized at program startup with configurable level/format. - All existing log calls migrated to structured equivalents.
-
urunc --log-level=debug --log-format=jsonproduces valid JSON logs. - No functional behavior changes purely logging migration.
Non-Priorities
- Adding new logging frameworks (zap, zerolog, etc.)
slogonly. - Changing error handling logic.
- Adding new features beyond logging.
I can start with pkg/unikontainers/ and then move on from there...
- Lingua principale
- Go
- Stelle
- 306
- Fork
- 214
- Merge medio
- 2g 23h
- PR unite (30g)
- 26
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di urunc-dev/urunc
-
Containers handed over to runc cannot be started, killed or deleted when urunc runs without --rootForse già presa @Daksha1611 l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
urunc-dev/urunc#1127 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
urunc-deploy cleanup never labels the node, so the cleanup DaemonSet does not runForse già presa @Sarthak-Shreshtha01 l’ha presa 5 giorni fa. Apertabug K8s/Tools
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
FreeBSD: docs update and rootfs detectionForse già presa @yug105 l’ha presa 2 giorni fa. Apertadocumentation enhancement Storage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
urunc-dev/urunc#1108 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Rumprun guests receive &, < and > as \u0026, \u003c and \u003eForse già presa @Sarthak-Shreshtha01 l’ha presa 11 giorni fa. Apertabug Guests
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
urunc-dev/urunc#1074 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Hooks run concurrently instead of in the listed orderForse di nuovo libera @anishmehta24 l’ha presa 17 giorni fa e non c’è nessuna pull request aperta. ApertaCore enhancement OCI
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
urunc-dev/urunc#1066 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di urunc-dev/urunc
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Mend: dependency security vulnerability
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kube-tarian/sigrun#202 ·
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eugenioenko/ttt#1085 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fullsend-ai/fullsend#8688 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
question raised-by:verifier
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
medici-finance/assay#4013 ·
I maintainer di solito rispondono entro 1 giorno