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