refactor(log): prelazak sa log na log/slog (strukturisano logovanje)

Uveden podrazumevani slog logger u main.go (podesiLog): JSON u produkciji,
tekst u razvoju, nivo Info. Svih ~70 poziva log.Printf/Println/Fatalf zamenjeno
slog.Error/Warn/Info: greška se prosleđuje kao atribut "error", informativne
vrednosti kao imenovani atributi (port, broj, putanja...), Fatalf -> Error +
os.Exit(1). Upozorenja (inicijalizacija/čišćenje dozvola, migracija kolone) idu
kao slog.Warn.

Auth log (internal/auth/log.go) namerno NIJE diran — ostaje zaseban *log.Logger
u fail2ban formatu. (slog.SetDefault usput preusmerava i standardni log paket.)
This commit is contained in:
2026-06-12 22:33:42 +02:00
parent 47fab264b5
commit b77a8857e6
12 changed files with 99 additions and 84 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"database/sql"
"fmt"
"io/fs"
"log"
"log/slog"
"path"
"sort"
"strings"
@@ -87,7 +87,7 @@ func PokreniMigracije(db *sql.DB, fsys fs.FS) error {
// "duplicate column name" znači da kolona već postoji — željeno stanje je ispunjeno,
// pa nastavljamo i beležimo migraciju kao izvršenu
if strings.Contains(err.Error(), "duplicate column name") {
log.Printf("Upozorenje: migration %s: kolona već postoji, preskačemo", naziv)
slog.Warn("migracija: kolona već postoji, preskačemo", "migracija", naziv)
} else {
return fmt.Errorf("ntech: PokreniMigracije: izvršavanje %s: %w", naziv, err)
}