log search implementation

This commit is contained in:
ari melody 2025-02-07 12:41:25 +00:00
parent 01c285de1b
commit 1397274967
Signed by: ari
GPG key ID: CF99829C92678188
2 changed files with 71 additions and 15 deletions

19
main.go
View file

@ -3,7 +3,7 @@ package main
import (
"errors"
"fmt"
"log"
stdLog "log"
"math"
"math/rand"
"net/http"
@ -20,6 +20,7 @@ import (
"arimelody-web/model"
"arimelody-web/templates"
"arimelody-web/view"
"arimelody-web/log"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
@ -341,7 +342,19 @@ func main() {
fmt.Printf("Account \"%s\" deleted successfully.\n", account.Username)
return
case "testLogSearch":
// TODO: rename to "logs"; add parameters
logger := log.Logger { DB: app.DB }
logs, err := logger.Search([]log.LogLevel{ log.LEVEL_INFO, log.LEVEL_WARN }, []string{ log.TYPE_ACCOUNT, log.TYPE_MUSIC }, "ari", 0, 100)
if err != nil {
fmt.Fprintf(os.Stderr, "FATAL: Failed to fetch logs: %v\n", err)
os.Exit(1)
}
for _, log := range(logs) {
fmt.Printf("[%s] [%s] [%d] [%s] %s\n", log.CreatedAt.Format(time.UnixDate), log.ID, log.Level, log.Type, log.Content)
}
return
}
// command help
@ -401,7 +414,7 @@ func main() {
// start the web server!
mux := createServeMux(&app)
fmt.Printf("Now serving at http://%s:%d\n", app.Config.Host, app.Config.Port)
log.Fatal(
stdLog.Fatal(
http.ListenAndServe(fmt.Sprintf("%s:%d", app.Config.Host, app.Config.Port),
HTTPLog(DefaultHeaders(mux)),
))