aboutsummaryrefslogtreecommitdiff
path: root/weed/mq/kafka/protocol/logging.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mq/kafka/protocol/logging.go')
-rw-r--r--weed/mq/kafka/protocol/logging.go69
1 files changed, 69 insertions, 0 deletions
diff --git a/weed/mq/kafka/protocol/logging.go b/weed/mq/kafka/protocol/logging.go
new file mode 100644
index 000000000..ccc4579be
--- /dev/null
+++ b/weed/mq/kafka/protocol/logging.go
@@ -0,0 +1,69 @@
+package protocol
+
+import (
+ "log"
+ "os"
+)
+
+// Logger provides structured logging for Kafka protocol operations
+type Logger struct {
+ debug *log.Logger
+ info *log.Logger
+ warning *log.Logger
+ error *log.Logger
+}
+
+// NewLogger creates a new logger instance
+func NewLogger() *Logger {
+ return &Logger{
+ debug: log.New(os.Stdout, "[KAFKA-DEBUG] ", log.LstdFlags|log.Lshortfile),
+ info: log.New(os.Stdout, "[KAFKA-INFO] ", log.LstdFlags),
+ warning: log.New(os.Stdout, "[KAFKA-WARN] ", log.LstdFlags),
+ error: log.New(os.Stderr, "[KAFKA-ERROR] ", log.LstdFlags|log.Lshortfile),
+ }
+}
+
+// Debug logs debug messages (only in debug mode)
+func (l *Logger) Debug(format string, args ...interface{}) {
+ if os.Getenv("KAFKA_DEBUG") != "" {
+ l.debug.Printf(format, args...)
+ }
+}
+
+// Info logs informational messages
+func (l *Logger) Info(format string, args ...interface{}) {
+ l.info.Printf(format, args...)
+}
+
+// Warning logs warning messages
+func (l *Logger) Warning(format string, args ...interface{}) {
+ l.warning.Printf(format, args...)
+}
+
+// Error logs error messages
+func (l *Logger) Error(format string, args ...interface{}) {
+ l.error.Printf(format, args...)
+}
+
+// Global logger instance
+var logger = NewLogger()
+
+// Debug logs debug messages using the global logger
+func Debug(format string, args ...interface{}) {
+ logger.Debug(format, args...)
+}
+
+// Info logs informational messages using the global logger
+func Info(format string, args ...interface{}) {
+ logger.Info(format, args...)
+}
+
+// Warning logs warning messages using the global logger
+func Warning(format string, args ...interface{}) {
+ logger.Warning(format, args...)
+}
+
+// Error logs error messages using the global logger
+func Error(format string, args ...interface{}) {
+ logger.Error(format, args...)
+}