FILE / ScuroNeko/SNekLog

examples/main.go

Исходный файл и его история в репозитории.
FILE 14b787710c1df9164e8321daea29461786404e0a
Files
SNekLog/examples/main.go
T

58 lines
1.1 KiB
Go

package main
import (
"bytes"
"fmt"
"git.scuroneko.dev/scuroneko/slog"
)
func main() {
logger := slog.CreateLogger().
Prefix("EXAMPLE").
Level(slog.DEBUG).
JsonPretty(true).
AddReplacer("SOME_SECRET", "<Secret>")
textStdout := logger.CreateTextStdoutWriter()
jsonStdout := logger.CreateJsonStdoutWriter()
textFile, err := logger.CreateTextFileWriter("logs/text.log")
if err != nil {
logger.Close()
panic(err)
}
jsonFile, err := logger.CreateJsonFileWriter("logs/json.log")
if err != nil {
logger.Close()
panic(err)
}
var externalBuffer bytes.Buffer
externalText := logger.CreateTextWriter(&externalBuffer)
externalJSON := logger.CreateJsonWriter(&externalBuffer)
logger.AddWriters(
textStdout,
jsonStdout,
textFile,
jsonFile,
externalText,
externalJSON,
)
logger.Infoln("service started")
logger.Warnln("cache miss")
logger.Errorln("request failed")
logger.Debugln("debug details")
logger.Infoln("sensitive info, SOME_SECRET")
if err := logger.Close(); err != nil {
panic(err)
}
fmt.Println("external buffer contents:")
fmt.Println(externalBuffer.String())
}