diff options
| author | mo khan <mo@mokhan.ca> | 2025-03-27 11:47:58 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-03-27 11:47:58 -0600 |
| commit | 3faa19c3aeae15070f2e143b031daaddfe296735 (patch) | |
| tree | dc86e49908920c10479b9e9905c58c0c44e2cee6 /pkg/app/app.go | |
| parent | b08580ff78708519f0594a62531cf6ce45559265 (diff) | |
feat: start to add structured logging
Diffstat (limited to 'pkg/app/app.go')
| -rw-r--r-- | pkg/app/app.go | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/pkg/app/app.go b/pkg/app/app.go index 35609d7..c55ecce 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -3,7 +3,6 @@ package app import ( "encoding/json" "fmt" - "log" "net" "net/http" "os" @@ -14,6 +13,7 @@ import ( "github.com/xlgmokha/x/pkg/x" "gitlab.com/mokhax/spike/pkg/authz" "gitlab.com/mokhax/spike/pkg/cfg" + xlog "gitlab.com/mokhax/spike/pkg/log" "gitlab.com/mokhax/spike/pkg/srv" ) @@ -23,6 +23,7 @@ func WithCasbin() authz.Authorizer { return authz.AuthorizerFunc(func(r *http.Request) bool { host, _, err := net.SplitHostPort(r.Host) if err != nil { + xlog.WithFields(r, xlog.Fields{"error": err}) return false } @@ -32,11 +33,18 @@ func WithCasbin() authz.Authorizer { } ok, err := enforcer.Enforce(subject, host, r.Method, r.URL.Path) if err != nil { - fmt.Printf("%v\n", err) + xlog.WithFields(r, xlog.Fields{"error": err}) return false } fmt.Printf("%v: %v -> %v %v%v\n", ok, subject, r.Method, host, r.URL.Path) + xlog.WithFields(r, xlog.Fields{ + "ok": ok, + "subject": subject, + "action": r.Method, + "domain": host, + "object": r.URL.Path, + }) return ok }) } @@ -50,8 +58,10 @@ func WithCedar() authz.Authorizer { var entities cedar.EntityMap if err := json.Unmarshal(x.Must(os.ReadFile("cedar.json")), &entities); err != nil { - log.Fatal(err) + xlog.Logger.Error("Error", "error", err) + return nil } + return authz.AuthorizerFunc(func(r *http.Request) bool { host, _, err := net.SplitHostPort(r.Host) if err != nil { @@ -79,9 +89,9 @@ func WithCedar() authz.Authorizer { } func Start(bindAddr string) error { + mux := authz.HTTP(WithCasbin(), Routes()) return srv.Run(cfg.New( bindAddr, - // cfg.WithMux(authz.HTTP(WithCedar(), Routes())), - cfg.WithMux(authz.HTTP(WithCasbin(), Routes())), + cfg.WithMux(mux), )) } |
