improved logging
This commit is contained in:
parent
f8407162ad
commit
05b41cedce
81 changed files with 9802 additions and 279 deletions
|
|
@ -7,20 +7,21 @@ import (
|
|||
"context"
|
||||
"embed"
|
||||
"errors"
|
||||
"git.giftfish.de/ston1th/authdav"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/core"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/db"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/fs"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/log"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/scan"
|
||||
"git.giftfish.de/ston1th/godrop/v2"
|
||||
"git.giftfish.de/ston1th/jwt/v3"
|
||||
"github.com/gorilla/mux"
|
||||
"golang.org/x/net/webdav"
|
||||
"html/template"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"git.giftfish.de/ston1th/authdav"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/core"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/db"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/fs"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/scan"
|
||||
"git.giftfish.de/ston1th/godrop/v2"
|
||||
"git.giftfish.de/ston1th/jwt/v3"
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/gorilla/mux"
|
||||
"golang.org/x/net/webdav"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -38,18 +39,20 @@ type HTTPServer struct {
|
|||
JWT *jwt.JWT
|
||||
Scanner *scan.Scanner
|
||||
FS *fs.Filesystem
|
||||
Log *log.ScanLog
|
||||
Log logr.Logger
|
||||
plain logr.Logger
|
||||
|
||||
templ map[string]*template.Template
|
||||
res map[string][]byte
|
||||
}
|
||||
|
||||
func NewHTTPServer(cfg *core.Config, l net.Listener, s *scan.Scanner) (srv *HTTPServer) {
|
||||
func NewHTTPServer(log logr.Logger, cfg *core.Config, l net.Listener, s *scan.Scanner) (srv *HTTPServer) {
|
||||
srv = &HTTPServer{
|
||||
Config: cfg,
|
||||
listener: l,
|
||||
Scanner: s,
|
||||
Log: log.NewScanLog(0),
|
||||
Log: log.WithName("server"),
|
||||
plain: log,
|
||||
}
|
||||
srv.loadTemplates()
|
||||
srv.srv = &http.Server{}
|
||||
|
|
@ -57,11 +60,12 @@ func NewHTTPServer(cfg *core.Config, l net.Listener, s *scan.Scanner) (srv *HTTP
|
|||
}
|
||||
|
||||
func (s *HTTPServer) Start() (err error) {
|
||||
s.FS, err = fs.NewFilesystem(s.Config.DataDir)
|
||||
log := s.Log
|
||||
s.FS, err = fs.NewFilesystem(s.plain.WithName("fs"), s.Config.DataDir)
|
||||
if err != nil {
|
||||
return errors.New("fs: " + err.Error())
|
||||
}
|
||||
s.DB, err = db.New(s.Config)
|
||||
s.DB, err = db.New(s.plain.WithName("db"), s.Config)
|
||||
if err != nil {
|
||||
return errors.New("db: " + err.Error())
|
||||
}
|
||||
|
|
@ -79,13 +83,16 @@ func (s *HTTPServer) Start() (err error) {
|
|||
}
|
||||
s.handler = s.buildRoutes()
|
||||
if !s.DB.UserExists() {
|
||||
log.Debug("server: starting register handler")
|
||||
log.V(2).Info("starting register handler")
|
||||
s.srv.Handler = s.register()
|
||||
} else {
|
||||
s.srv.Handler = s.handler
|
||||
}
|
||||
go func() {
|
||||
log.Println(s.srv.Serve(s.listener))
|
||||
err = s.srv.Serve(s.listener)
|
||||
if err != nil {
|
||||
log.Error(err, "http server error")
|
||||
}
|
||||
}()
|
||||
return
|
||||
}
|
||||
|
|
@ -117,7 +124,14 @@ func (s *HTTPServer) buildRoutes() http.Handler {
|
|||
if s.Config.WebDav {
|
||||
dav := authdav.NewWriteOnlyOnceFileSystem(webdav.Dir(s.Config.DataDir))
|
||||
dav.Filters = []authdav.Filter{authdav.NewMacOSFilter()}
|
||||
h := authdav.NewWebdavBasicAuth(core.WebDavPrefix, dav, nil, webdavLogger, s.DB, "DocStore WebDav")
|
||||
h := authdav.NewWebdavBasicAuth(
|
||||
core.WebDavPrefix,
|
||||
dav,
|
||||
nil,
|
||||
webdavLogger(s.plain.WithName("webdav")),
|
||||
s.DB,
|
||||
"DocStore WebDav",
|
||||
)
|
||||
r.PathPrefix(core.WebDavPrefix).Handler(h)
|
||||
}
|
||||
r.Handle("/static/{file}", http.StripPrefix("/", http.FileServer(http.FS(static))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue