NewLogger (logging/logger.go)

devops-ai-guidelines · 02-mcp-for-devops/code/06/internal/logging/logger.go · go · MIT
infra

Configurable logging utility for Go applications with JSON/text formatting and MCP/K8s operation tracking.

// Source: https://github.com/VersusControl/devops-ai-guidelines | License: MIT | Copyright 2025 VersusControl
// Provided via justclaw.it.com; keep this notice with the code.
package logging

import (
	"os"
	"time"

	"github.com/sirupsen/logrus"
)

type Logger struct {
	*logrus.Logger
}

func NewLogger(level, format string) *Logger {
	logger := logrus.New()

	// Set log level
	logLevel, err := logrus.ParseLevel(level)
	if err != nil {
		logLevel = logrus.InfoLevel
	}
	logger.SetLevel(logLevel)

	// Set formatter
	if format == "json" {
		logger.SetFormatter(&logrus.JSONFormatter{
			TimestampFormat: time.RFC3339,
		})
	} else {
		logger.SetFormatter(&logrus.TextFormatter{
			FullTimestamp:   true,
			TimestampFormat: time.RFC3339,
		})
	}

	logger.SetOutput(os.Stdout)

	return &Logger{Logg

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key