Skip to content

Commit e4c3921

Browse files
authored
feat: configure automaxprocs logging (#231)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent fe2b6a7 commit e4c3921

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

cmd/cdnsd/main.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
"time"
1717

1818
"github.com/prometheus/client_golang/prometheus/promhttp"
19-
_ "go.uber.org/automaxprocs"
19+
"go.uber.org/automaxprocs/maxprocs"
2020

2121
"github.com/blinklabs-io/cdnsd/internal/config"
2222
"github.com/blinklabs-io/cdnsd/internal/dns"
@@ -30,6 +30,10 @@ var cmdlineFlags struct {
3030
configFile string
3131
}
3232

33+
func slogPrintf(format string, v ...any) {
34+
slog.Info(fmt.Sprintf(format, v...))
35+
}
36+
3337
func main() {
3438
flag.StringVar(
3539
&cmdlineFlags.configFile,
@@ -46,9 +50,19 @@ func main() {
4650
os.Exit(1)
4751
}
4852

53+
// Configure logger
54+
logging.Configure()
4955
logger := logging.GetLogger()
5056
slog.SetDefault(logger)
5157

58+
// Configure max processes with our logger wrapper, toss undo func
59+
_, err = maxprocs.Set(maxprocs.Logger(slogPrintf))
60+
if err != nil {
61+
// If we hit this, something really wrong happened
62+
logger.Error(err.Error())
63+
os.Exit(1)
64+
}
65+
5266
slog.Info(
5367
fmt.Sprintf("cdnsd %s started", version.GetVersionString()),
5468
)

0 commit comments

Comments
 (0)