43 lines
1001 B
Go
43 lines
1001 B
Go
|
package logging
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"fmt"
|
||
|
"log"
|
||
|
"log/slog"
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
func Logging() {
|
||
|
log.Println("Baby's first log!")
|
||
|
|
||
|
log.SetFlags(log.LstdFlags | log.Lmicroseconds)
|
||
|
log.Println("Log with microseconds!")
|
||
|
|
||
|
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||
|
log.Println("Now with filename!")
|
||
|
|
||
|
mlog := log.New(os.Stdout, "[mlog] ", log.LstdFlags|log.Lshortfile)
|
||
|
mlog.Println("My own logger!")
|
||
|
|
||
|
mlog.SetPrefix("[mlog with SetPrefix] ")
|
||
|
mlog.Println("Changed prefix")
|
||
|
|
||
|
var logBuffer bytes.Buffer
|
||
|
buflog := log.New(&logBuffer, "[bytes] ", log.LstdFlags|log.Lshortfile)
|
||
|
|
||
|
buflog.Println("Writing to a bytes buffer")
|
||
|
buflog.Println("Writing more to the bytes buffer")
|
||
|
|
||
|
fmt.Println()
|
||
|
fmt.Println("Printing logs from bytes buffer below:")
|
||
|
fmt.Println(logBuffer.String())
|
||
|
|
||
|
jsonHandler := slog.NewJSONHandler(os.Stderr, nil)
|
||
|
jlog := slog.New(jsonHandler)
|
||
|
jlog.Info("First json log entry")
|
||
|
jlog.Info("kv args", "key1", 1, "key2", 2, "key3", true)
|
||
|
jlog.Warn("warning!!!")
|
||
|
jlog.Error("error!!!")
|
||
|
}
|