all repos — website @ 973fa31b6743a3ea84c86ab7671349cc70a69142

My website

enable filtered debug logging via DEBUG="component.*"

Alan Pearce
commit

973fa31b6743a3ea84c86ab7671349cc70a69142

parent

7b82d3ef3e93c0c8efe489d6b11b30f092667bf2

1 file changed, 18 insertions(+), 14 deletions(-)

changed files
M internal/server/server.gointernal/server/server.go
@@ -49,6 +49,7 @@ *http.Server
redirectServer *http.Server runtimeConfig *Config config *cfg.Config + log *log.Logger } func applyDevModeOverrides(config *cfg.Config, runtimeConfig *Config) {
@@ -87,8 +88,8 @@ wrappedHandler.ServeHTTP(w, r)
}) } -func rebuild(builderConfig *builder.IOConfig, config *cfg.Config) error { - r, err := builder.BuildSite(builderConfig, config) +func rebuild(builderConfig *builder.IOConfig, config *cfg.Config, log *log.Logger) error { + r, err := builder.BuildSite(builderConfig, config, log.Named("builder")) if err != nil { return errors.WithMessage(err, "could not build site") }
@@ -97,7 +98,7 @@
return nil } -func New(runtimeConfig *Config) (*Server, error) { +func New(runtimeConfig *Config, log *log.Logger) (*Server, error) { builderConfig := &builder.IOConfig{ Destination: runtimeConfig.Root, Development: runtimeConfig.Development,
@@ -109,7 +110,7 @@ _, err := conf.Parse("VCS", vcsConfig)
if err != nil { return nil, err } - _, err = vcs.CloneOrUpdate(vcsConfig) + _, err = vcs.CloneOrUpdate(vcsConfig, log.Named("vcs")) if err != nil { return nil, err }
@@ -125,7 +126,7 @@ builderConfig.Destination = publicDir
runtimeConfig.Root = publicDir } - config, err := cfg.GetConfig(builderConfig.Source) + config, err := cfg.GetConfig(builderConfig.Source, log.Named("config")) if err != nil { return nil, errors.WithMessage(err, "error parsing configuration file") }
@@ -136,16 +137,18 @@
listenAddress := net.JoinHostPort(runtimeConfig.ListenAddress, strconv.Itoa(runtimeConfig.Port)) top := http.NewServeMux() - err = rebuild(builderConfig, config) + err = rebuild(builderConfig, config, log) if err != nil { return nil, err } + fixupMIMETypes(log) + if runtimeConfig.Development { liveReload := livereload.New() top.Handle("/_/reload", liveReload) liveReload.Start() - fw, err := NewFileWatcher() + fw, err := NewFileWatcher(log.Named("watcher")) if err != nil { return nil, errors.WithMessage(err, "could not create file watcher") }
@@ -165,7 +168,7 @@ return nil, errors.WithMessage(err, "could not add directory to file watcher")
} go fw.Start(func(filename string) { log.Info("rebuilding site", "changed_file", filename) - err := rebuild(builderConfig, config) + err := rebuild(builderConfig, config, log) if err != nil { log.Error("error rebuilding site", "error", err) }
@@ -173,7 +176,7 @@ })
} loggingMux := http.NewServeMux() - mux, err := website.NewMux(config, runtimeConfig.Root) + mux, err := website.NewMux(config, runtimeConfig.Root, log.Named("website")) if err != nil { return nil, errors.Wrap(err, "could not create website mux") }
@@ -193,7 +196,7 @@ }
top.Handle("/", serverHeaderHandler( - wrapHandlerWithLogging(loggingMux), + wrapHandlerWithLogging(loggingMux, log), ), )
@@ -218,6 +221,7 @@ IdleTimeout: 10 * time.Minute,
Addr: listenAddress, Handler: rMux, }, + log: log, config: config, runtimeConfig: runtimeConfig, }, nil
@@ -240,19 +244,19 @@ return nil
} func (s *Server) Stop() chan struct{} { - log.Debug("stop called") + s.log.Debug("stop called") idleConnsClosed := make(chan struct{}) go func() { - log.Debug("shutting down server") + s.log.Debug("shutting down server") ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() err := s.Server.Shutdown(ctx) - log.Debug("server shut down") + s.log.Debug("server shut down") if err != nil { // Error from closing listeners, or context timeout: - log.Warn("HTTP server Shutdown", "error", err) + s.log.Warn("HTTP server Shutdown", "error", err) } close(idleConnsClosed) }()