added more strategies

This commit is contained in:
u80864958
2025-05-09 18:32:06 +02:00
parent 2283c0f9b8
commit 4e2b95f945
8 changed files with 135 additions and 38 deletions

57
strategy/json.go Normal file
View File

@ -0,0 +1,57 @@
package strategy
import (
"encoding/json"
"fmt"
"os"
"time"
"git.schreifuchs.ch/schreifuchs/logger"
"git.schreifuchs.ch/schreifuchs/logger/lvl"
)
// JSON logs to std wit the schema:
// {"time":"","level":"","message":""}.
func JSON(logs <-chan *logger.Log) {
for log := range logs {
timedLog := struct {
Time time.Time `json:"time"`
LVL lvl.Level `json:"level"`
Message string `json:"message"`
}{
Time: time.Now(),
LVL: log.Level,
Message: log.Message,
}
out, err := json.Marshal(timedLog)
if err != nil {
fmt.Println("Error while marshaling log: ", err)
os.Exit(1)
}
println(string(out))
}
}
// JSON logs to std wit the schema:
// {"time":"","level":"","message":""}.
func JSON(logs <-chan *logger.Log) {
for log := range logs {
timedLog := struct {
Time time.Time `json:"time"`
LVL lvl.Level `json:"level"`
Message string `json:"message"`
}{
Time: time.Now(),
LVL: log.Level,
Message: log.Message,
}
out, err := json.Marshal(timedLog)
if err != nil {
fmt.Println("Error while marshaling log: ", err)
os.Exit(1)
}
println(string(out))
}
}