[performance] more logging tweaks (#4415)

- reduces number of necessary function calls by moving log level checking out of the uninlineable `logf(...)` function and into each of its caller (which are all inlined). this in turn means the log level check is performed in-situ wherever a call to `log.Debug(...)` (etc) is made, reduce unnecessary calls when a certain log level is disabled.
- sets the http.Server{}.ErrorLog to output to our internal logging package (which in turn ensures it gets wrapped in either our logfmt or json log formatting)

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4415
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2025-09-07 14:47:45 +02:00 committed by kim
commit 19784e381b
5 changed files with 263 additions and 7 deletions

View file

@ -23,6 +23,7 @@ import (
"fmt"
"net"
"net/http"
"strconv"
"time"
"code.superseriousbusiness.org/gotosocial/internal/config"
@ -93,9 +94,10 @@ func New(ctx context.Context) (*Router, error) {
// `server start` command anyway.
baseCtx := func(_ net.Listener) context.Context { return ctx }
addr := fmt.Sprintf("%s:%d",
// Create joined listen addr.
addr := net.JoinHostPort(
config.GetBindAddress(),
config.GetPort(),
strconv.Itoa(config.GetPort()),
)
// Wrap the gin engine handler in our
@ -111,6 +113,7 @@ func New(ctx context.Context) (*Router, error) {
WriteTimeout: writeTimeout,
IdleTimeout: idleTimeout,
BaseContext: baseCtx,
ErrorLog: log.NewStdLogger(log.ERROR),
}
return &Router{