FILE / ScuroNeko/SNekLog

examples/main.go

Исходный файл и его история в репозитории.
FILE b4c9203a79c7b26588dd42f773ce2a8f598494f1
Files
SNekLog/examples/main.go
T
ScuroNeko b4c9203a79
Golang lint / lint (push) Successful in 50s
(fix): lint error
2026-04-27 10:24:53 +03:00

81 lines
1.8 KiB
Go

package main
import (
"bytes"
"fmt"
"git.scuroneko.dev/scuroneko/sneklog/v2"
)
func main() {
logger := sneklog.CreateLogger().
Prefix("EXAMPLE").
Level(sneklog.DEBUG).
JsonPretty(true).
AddReplacer("SOME_SECRET", "<Secret>")
sneklog.INFO.SetBgColor(sneklog.BgBlue).SetFgColor(sneklog.FgWhite)
textStdout := logger.CreateTextStdoutWriter()
jsonStdout := logger.CreateJsonStdoutWriter()
formatter := sneklog.NewFormatter().
SetFormat("[%t] [%L] [%N]: %m (%S)").
SetTimeStampFormat(sneklog.Kitchen).
SetTraceBackFormat("%s %f:%n %p")
jsonFormatter := sneklog.NewFormatter().
SetFormat("[%L] [%N] %m").
SetColorOutput(true).
SetTimeStampFormat(sneklog.Kitchen)
textStdout.SetFormatter(formatter)
jsonStdout.SetFormatter(jsonFormatter)
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)
}
s := sneklog.NewColorStringBuilder().
AddColorRgbBg(31, 41, 40).
AddColorRgbFg(220, 215, 186).
AddAttribute(sneklog.Italic).AddAttribute(sneklog.Bold).
AddText("Some Very very very cool stuff, themed in Kanagawa colors!").String()
println(s)
fmt.Println("external buffer contents:")
fmt.Println(externalBuffer.String())
}