package main import ( "bytes" "fmt" "git.scuroneko.dev/scuroneko/slog/v2" ) func main() { logger := sneklog.CreateLogger(). Prefix("EXAMPLE"). Level(sneklog.DEBUG). JsonPretty(true). AddReplacer("SOME_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()) }