log.Fatal — logs and exits. log.Panic — logs and panics.
log.Fatal:
os.Exit(1).1log.Fatal("Failed")2// Deferred functions won't run
log.Panic:
panic().1log.Panic("Failed")2// Deferred functions run3// Can recover
When to use log.Fatal:
When to use log.Panic:
Common mistakes:
log.Fatal when cleanup needed.log.Panic without recover().log.Fatal skips deferred functions.log.Fatal in goroutines.