Skip to main content
Glama

Storyden

by Southclaws
Mozilla Public License 2.0
227
logger.go931 B
package logger import ( "log/slog" "os" "github.com/golang-cz/devslog" "go.uber.org/fx" "github.com/Southclaws/storyden/internal/config" ) func Build() fx.Option { return fx.Options( fx.Provide(newLogger), fx.Invoke(replaceGlobals), ) } func newLogger(cfg config.Config) *slog.Logger { opts := &slog.HandlerOptions{ Level: cfg.LogLevel, } logger := slog.New(func() slog.Handler { switch cfg.LogFormat { case "json": return slog.NewJSONHandler(os.Stdout, opts) case "dev": return devslog.NewHandler(os.Stdout, &devslog.Options{HandlerOptions: opts}) default: return slog.NewTextHandler(os.Stdout, opts) } }()) return logger } func replaceGlobals(c config.Config, l *slog.Logger) { // Use our logger for globals too, even though it's passed to // dependents most of the time using DI, the global logger is used // in a couple of places during startup/shutdown. slog.SetDefault(l) }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Southclaws/storyden'

If you have feedback or need assistance with the MCP directory API, please join our Discord server