FILE / ScuroNeko/SNekLog
examples/main.go
Исходный файл и его история в репозитории.
81 lines
1.8 KiB
Go
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())
|
|
}
|