Compare commits
3 Commits
fb54254f4e
...
v0.5.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c32b88e24 | |||
| 1bca1f7da1 | |||
| 5e5958d22e |
@@ -0,0 +1,49 @@
|
||||
package zones
|
||||
|
||||
import "darvaza.org/slog"
|
||||
|
||||
type logger interface {
|
||||
withDebug() (slog.Logger, bool)
|
||||
withInfo() (slog.Logger, bool)
|
||||
|
||||
debug() slog.Logger
|
||||
info() slog.Logger
|
||||
warn(error) slog.Logger
|
||||
error(error) slog.Logger
|
||||
}
|
||||
|
||||
var (
|
||||
_ logger = (*Zones)(nil)
|
||||
)
|
||||
|
||||
func (z *Zones) withDebug() (slog.Logger, bool) {
|
||||
return z.debug().WithEnabled()
|
||||
}
|
||||
|
||||
func (z *Zones) withInfo() (slog.Logger, bool) {
|
||||
return z.debug().WithEnabled()
|
||||
}
|
||||
|
||||
func (z *Zones) debug() slog.Logger {
|
||||
return z.log.Debug()
|
||||
}
|
||||
|
||||
func (z *Zones) info() slog.Logger {
|
||||
return z.log.Info()
|
||||
}
|
||||
|
||||
func (z *Zones) warn(err error) slog.Logger {
|
||||
l := z.log.Warn()
|
||||
if err != nil {
|
||||
l = l.WithField(slog.ErrorFieldName, err)
|
||||
}
|
||||
return l
|
||||
}
|
||||
|
||||
func (z *Zones) error(err error) slog.Logger {
|
||||
l := z.log.Error()
|
||||
if err != nil {
|
||||
l = l.WithField(slog.ErrorFieldName, err)
|
||||
}
|
||||
return l
|
||||
}
|
||||
@@ -10,6 +10,8 @@ import (
|
||||
// A Machine is a machine on a Zone
|
||||
type Machine struct {
|
||||
zone *Zone
|
||||
logger
|
||||
|
||||
ID int `toml:"id"`
|
||||
Name string `toml:"-" json:"-" yaml:"-"`
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ func WithLogger(log slog.Logger) ScanOption {
|
||||
}
|
||||
|
||||
opt.Logger = log
|
||||
m.log = log
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
+6
-4
@@ -32,8 +32,9 @@ func (m *Zones) scanDirectory(_ *ScanOptions) error {
|
||||
for _, e := range entries {
|
||||
if e.IsDir() {
|
||||
z := &Zone{
|
||||
zones: m,
|
||||
Name: e.Name(),
|
||||
zones: m,
|
||||
logger: m,
|
||||
Name: e.Name(),
|
||||
}
|
||||
|
||||
if err := z.scan(); err != nil {
|
||||
@@ -132,8 +133,9 @@ func (z *Zone) scan() error {
|
||||
for _, e := range entries {
|
||||
if e.IsDir() {
|
||||
m := &Machine{
|
||||
zone: z,
|
||||
Name: e.Name(),
|
||||
zone: z,
|
||||
logger: z,
|
||||
Name: e.Name(),
|
||||
}
|
||||
|
||||
if err := m.init(); err != nil {
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"sort"
|
||||
|
||||
"darvaza.org/resolver"
|
||||
"darvaza.org/slog"
|
||||
"github.com/gofrs/uuid/v5"
|
||||
)
|
||||
|
||||
@@ -87,6 +88,7 @@ func FilterMachines(m MachineIterator, cond func(*Machine) bool) (Machines, int)
|
||||
// Zone represents one zone in a cluster
|
||||
type Zone struct {
|
||||
zones *Zones
|
||||
logger
|
||||
|
||||
ID int `toml:"id"`
|
||||
Name string `toml:"name"`
|
||||
@@ -141,6 +143,7 @@ func (z *Zone) GatewayIDs() ([]int, int) {
|
||||
// Zones represents all zones in a cluster
|
||||
type Zones struct {
|
||||
dir fs.FS
|
||||
log slog.Logger
|
||||
resolver resolver.Resolver
|
||||
domain string
|
||||
|
||||
|
||||
Reference in New Issue
Block a user