Skip to main content
Glama
logger.goβ€’1.08 kB
package main import ( "io" "os" "strings" "github.com/rs/zerolog" ) func newLogger(cfg LoggingConfig) (zerolog.Logger, error) { level, err := zerolog.ParseLevel(cfg.Level) if err != nil { level = zerolog.InfoLevel } zerolog.SetGlobalLevel(level) var output io.Writer switch cfg.Output { case "stdout": output = os.Stdout case "stderr": output = os.Stderr case "file": output = os.Stderr default: output = os.Stderr } var logger zerolog.Logger switch cfg.Format { case "json": logger = zerolog.New(output).With().Timestamp().Logger() case "console": logger = zerolog.New(zerolog.ConsoleWriter{ Out: output, TimeFormat: "15:04:05", NoColor: isNoColor(), }).With().Timestamp().Logger() default: logger = zerolog.New(zerolog.ConsoleWriter{ Out: output, TimeFormat: "15:04:05", NoColor: isNoColor(), }).With().Timestamp().Logger() } return logger, nil } func isNoColor() bool { return os.Getenv("NO_COLOR") != "" || os.Getenv("TERM") == "dumb" || !strings.Contains(os.Getenv("TERM"), "color") }

Latest Blog Posts

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/sonirico/mcp-shell'

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