]> go.fuhry.dev Git - runtime.git/commitdiff
Merge branch 'main' of gitlab.web.xx0r.info:dan/go-runtime
authorDan Fuhry <dan@fuhry.com>
Sat, 22 Mar 2025 01:31:45 +0000 (21:31 -0400)
committerDan Fuhry <dan@fuhry.com>
Sat, 22 Mar 2025 01:33:16 +0000 (21:33 -0400)
1  2 
machines/coredns_plugin/registry.go
machines/coredns_plugin/registry_store.go
machines/coredns_plugin/setup.go
machines/event_watcher.go
metrics/metricbus/internal/server.go
utils/log/log.go
utils/log/writer.go

Simple merge
index 1fc9de298e243edc7c1163068061bc8dbd3dff15,a49d133da0f6f20c8f4870433c594c07d67c5df3..2fbece85e20496775ab3f1950d0185ffd6321cfb
@@@ -17,9 -15,8 +17,9 @@@ import 
  
  type registryStore struct {
        mu  sync.Mutex `json:"-"`
-       log *log.Logger
+       log log.Logger
  
 +      lastRefresh        time.Time
        Sites              map[string]*machines.Site                      `json:"Sites"`
        Domains            map[string]*machines.Domain                    `json:"Domains"`
        Hosts              map[string]*machines.Host                      `json:"Hosts"`
Simple merge
Simple merge
Simple merge
index 600425f154f260e86ea76b6bb5d280401d444948,aac0de294ffbe7e5087aa0022a013b0aeb5b5477..4ee6f05a14e01f76e0acccbbdbea784ea4f1ed41
@@@ -11,7 -11,51 +11,52 @@@ import 
  var logVerbosity int = 0
  var logLevel string = "notice"
  
- type Logger struct {
+ // interface coreLogger contains only the core functionality needed for logging, without
+ // level or verbosity methods.
+ //
+ // This interface can be implemented by mocks for testing.
+ type coreLogger interface {
+       WithLevel(Level) coreLogger
+       Print(...any)
+       Printf(string, ...any)
+       Println(...any)
+       Fatal(...any)
+       Fatalf(string, ...any)
+       Panic(...any)
+       Panicf(string, ...any)
+       Panicln(...any)
+ }
+ // interface Logger describes a logger with verbosity and level filtering, and prefix
+ // management.
+ type Logger interface {
+       coreLogger
+       AppendPrefix(string) Logger
+       WithPrefix(string) Logger
+       V(int) Logger
++      NewWriter(Level) io.Writer
+       Debug(...any)
+       Debugf(string, ...any)
+       Info(...any)
+       Infof(string, ...any)
+       Notice(...any)
+       Noticef(string, ...any)
+       Warning(...any)
+       Warningf(string, ...any)
+       Warn(...any)
+       Warnf(string, ...any)
+       Error(...any)
+       Errorf(string, ...any)
+       Critical(...any)
+       Criticalf(string, ...any)
+       Alert(...any)
+       Alertf(string, ...any)
+ }
+ type internalLogger struct {
        *log.Logger
  
        level  Level
@@@ -131,24 -179,54 +180,61 @@@ func (l *internalLogger) prependPrefixe
        return args
  }
  
- func (l *Logger) Print(v ...any) {
-       args := l.prependPrefixes(v)
-       l.Logger.Print(args...)
+ func (l *internalLogger) Fatal(v ...any) {
+       if len(v) > 0 {
+               if arg1, ok := v[0].(string); ok {
+                       if l.prefix != "" {
+                               v[0] = FATAL.prefix(l.Writer()) + "[" + l.prefix + "] " + arg1
+                       }
+               }
+       }
+       l.Logger.Fatal(v...)
  }
  
- func (l *Logger) Printf(fmtstr string, v ...any) {
+ func (l *internalLogger) Fatalf(fmtstr string, v ...any) {
        if l.prefix != "" {
-               fmtstr = "[" + l.prefix + "] " + fmtstr
+               fmtstr = FATAL.prefix(l.Writer()) + "[" + l.prefix + "] " + fmtstr
        }
  
-       l.Logger.Printf(l.level.prefix(l.Writer())+fmtstr, v...)
+       l.Logger.Fatalf(fmtstr, v...)
  }
  
- func (l *Logger) Println(v ...any) {
-       l.Print(v...)
++func (l *internalLogger) NewWriter(lv Level) io.Writer {
++      return &writer{
++              logger: l,
++              level:  lv,
++      }
++}
++
+ func (l *logger) V(level int) Logger {
+       if logVerbosity >= level {
+               return l
+       }
+       return NullLogger()
  }
  
- func (l *Logger) Debug(v ...any) {
+ func (l *logger) WithPrefix(prefix string) Logger {
+       return &logger{
+               internalLogger: &internalLogger{
+                       Logger: l.Logger,
+                       prefix: l.internalLogger.prefix,
+                       level:  l.level,
+               },
+       }
+ }
+ func (l *logger) AppendPrefix(prefix string) Logger {
+       return &logger{
+               internalLogger: &internalLogger{
+                       Logger: l.Logger,
+                       prefix: l.internalLogger.prefix + prefix,
+                       level:  l.level,
+               },
+       }
+ }
+ func (l *logger) Debug(v ...any) {
        l.WithLevel(DEBUG).Print(v...)
  }
  
index 92b91561acdd8f4e6797c0adbced62d20adaad01,0000000000000000000000000000000000000000..e0ea704be60a1f5dc529f17bb57b34dc571979e3
mode 100644,000000..100644
--- /dev/null
@@@ -1,11 -1,0 +1,11 @@@
-       logger *Logger
 +package log
 +
 +type writer struct {
++      logger *internalLogger
 +      level  Level
 +}
 +
 +func (w *writer) Write(p []byte) (int, error) {
 +      w.logger.WithLevel(w.level).Print(string(p))
 +      return len(p), nil
 +}