fmt.Println — stdout, no metadata. log.Println — stderr, with timestamp.
fmt.Println:
os.Stdout.1fmt.Println("Hello, World!")2// Output: Hello, World!34fmt.Printf("User: %s\n", name)
log.Println:
os.Stderr.1log.Println("Server started")2// Output: 2024/01/15 10:30:45 Server started34log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)5log.Println("Debug")6// Output: 2024/01/15 10:30:45 main.go:42 Debug
When to use fmt:
When to use log:
Common mistakes:
fmt.Println for logs.log.Println for user output.log.Fatal (exits immediately).