48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
|
|
"github.com/VexoraDevelopment/consolex"
|
|
)
|
|
|
|
func main() {
|
|
profile := consolex.DefaultProfile()
|
|
profile.HideKeys["name"] = false
|
|
profile.HideKeys["dimension"] = false
|
|
|
|
logFile, err := consolex.SetupDefaultSlog(consolex.LoggerConfig{
|
|
LogFilePath: "server.log",
|
|
ArchiveDir: "logs",
|
|
Level: slog.LevelDebug,
|
|
Theme: consolex.DefaultTheme(),
|
|
Profile: profile,
|
|
Processors: []consolex.Processor{
|
|
consolex.ProcessorFunc(func(rec *consolex.LogRecord) {
|
|
// Example: force showing key for world pointer fields in compact layout.
|
|
for i := range rec.Fields {
|
|
if rec.Fields[i].Key == "ptr" {
|
|
rec.Fields[i].ShowKey = true
|
|
}
|
|
}
|
|
}),
|
|
},
|
|
FieldProvider: consolex.FieldStyleFunc(func(key, value string) (consolex.Chalk, bool) {
|
|
switch key {
|
|
case "name":
|
|
return consolex.New().Black().BgYellow(), true
|
|
case "ptr":
|
|
return consolex.New().White().BgMagenta(), true
|
|
default:
|
|
return consolex.Chalk{}, false
|
|
}
|
|
}),
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
defer logFile.Close()
|
|
|
|
slog.Info("world register", "name", "hub_snow", "ptr", "0xc004ba0ea0")
|
|
}
|