core: replace zap with logtree
Test Plan: Effective refactor. Only tests that could be affected are e2e tests that should continue to run, because we still are logging into the qemu console, even if differently.
X-Origin-Diff: phab/D642
GitOrigin-RevId: 0f12b1bc985af08a3cc269569273184321763e4b
diff --git a/core/cmd/nanoswitch/nanoswitch.go b/core/cmd/nanoswitch/nanoswitch.go
index 73e5135..7f17b1e 100644
--- a/core/cmd/nanoswitch/nanoswitch.go
+++ b/core/cmd/nanoswitch/nanoswitch.go
@@ -36,7 +36,6 @@
"github.com/insomniacslk/dhcp/dhcpv4"
"github.com/insomniacslk/dhcp/dhcpv4/server4"
"github.com/vishvananda/netlink"
- "go.uber.org/zap"
"golang.org/x/sys/unix"
"git.monogon.dev/source/nexantic.git/core/internal/common"
@@ -73,7 +72,7 @@
}
reply, err := dhcpv4.NewReplyFromRequest(m)
if err != nil {
- supervisor.Logger(ctx).Warn("Failed to generate DHCP reply", zap.Error(err))
+ supervisor.Logger(ctx).Warningf("Failed to generate DHCP reply: %v", err)
return
}
reply.UpdateOption(dhcpv4.OptServerIdentifier(switchIP))
@@ -85,7 +84,7 @@
defaultLeaseOptions(reply)
currentIP[3]++ // Works only because it's a /24
reply.YourIPAddr = currentIP
- supervisor.Logger(ctx).Info("Replying with DHCP IP", zap.String("ip", reply.YourIPAddr.String()))
+ supervisor.Logger(ctx).Infof("Replying with DHCP IP %s", reply.YourIPAddr.String())
case dhcpv4.MessageTypeRequest:
reply.UpdateOption(dhcpv4.OptMessageType(dhcpv4.MessageTypeAck))
defaultLeaseOptions(reply)
@@ -94,7 +93,7 @@
supervisor.Logger(ctx).Info("Ignoring Release/Decline")
}
if _, err := conn.WriteTo(reply.ToBytes(), peer); err != nil {
- supervisor.Logger(ctx).Warn("Cannot reply to client", zap.Error(err))
+ supervisor.Logger(ctx).Warningf("Cannot reply to client: %v", err)
}
})
if err != nil {
@@ -134,7 +133,7 @@
defer conn.Close()
upstreamConn, err := net.DialTCP("tcp", nil, &net.TCPAddr{IP: targetIP, Port: int(port)})
if err != nil {
- logger.Info("Userspace proxy failed to connect to upstream", zap.Error(err))
+ logger.Infof("Userspace proxy failed to connect to upstream: %v", err)
return
}
defer upstreamConn.Close()
@@ -175,12 +174,7 @@
}
func main() {
- logger, err := zap.NewDevelopment()
- if err != nil {
- panic(err)
- }
-
- supervisor.New(context.Background(), logger, func(ctx context.Context) error {
+ supervisor.New(context.Background(), func(ctx context.Context) error {
logger := supervisor.Logger(ctx)
logger.Info("Starting NanoSwitch, a tiny TOR switch emulator")
@@ -207,7 +201,7 @@
links, err := netlink.LinkList()
if err != nil {
- logger.Panic("Failed to list links", zap.Error(err))
+ logger.Fatalf("Failed to list links: %v", err)
}
var externalLink netlink.Link
var vmLinks []netlink.Link
@@ -226,16 +220,16 @@
}
vmBridgeLink := &netlink.Bridge{LinkAttrs: netlink.LinkAttrs{Name: "vmbridge", Flags: net.FlagUp}}
if err := netlink.LinkAdd(vmBridgeLink); err != nil {
- logger.Panic("Failed to create vmbridge", zap.Error(err))
+ logger.Fatalf("Failed to create vmbridge: %v", err)
}
for _, link := range vmLinks {
if err := netlink.LinkSetMaster(link, vmBridgeLink); err != nil {
- logger.Panic("Failed to add VM interface to bridge", zap.Error(err))
+ logger.Fatalf("Failed to add VM interface to bridge: %v", err)
}
- logger.Info("Assigned interface to bridge", zap.String("if", link.Attrs().Name))
+ logger.Infof("Assigned interface %s to bridge", link.Attrs().Name)
}
if err := netlink.AddrReplace(vmBridgeLink, &netlink.Addr{IPNet: &net.IPNet{IP: switchIP, Mask: switchSubnetMask}}); err != nil {
- logger.Panic("Failed to assign static IP to vmbridge")
+ logger.Fatalf("Failed to assign static IP to vmbridge: %v", err)
}
if externalLink != nil {
nat := c.AddTable(&nftables.Table{
@@ -273,7 +267,7 @@
dhcpClient := dhcp.New()
supervisor.Run(ctx, "dhcp-client", dhcpClient.Run(externalLink))
if err := ioutil.WriteFile("/proc/sys/net/ipv4/ip_forward", []byte("1\n"), 0644); err != nil {
- logger.Panic("Failed to write ip forwards", zap.Error(err))
+ logger.Fatalf("Failed to write ip forwards: %v", err)
}
status, err := dhcpClient.Status(ctx, true)
if err != nil {