Skip to content

Commit e2f50d2

Browse files
author
Brian Picciano
committed
Merge pull request #3 from LevenLabs/llog
use llog and add some extra log statements
2 parents a1283ec + 89fbe05 commit e2f50d2

1 file changed

Lines changed: 20 additions & 8 deletions

File tree

main.go

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package main
22

33
import (
4-
"log"
4+
"strings"
5+
"time"
56

7+
"github.com/levenlabs/go-llog"
68
"github.com/mediocregopher/lever"
79
"github.com/miekg/dns"
8-
"strings"
9-
"time"
1010
)
1111

1212
var dnsServerGroups [][]string
@@ -15,7 +15,7 @@ var client dns.Client
1515
func tryProxy(m *dns.Msg, addr string) *dns.Msg {
1616
aM, _, err := client.Exchange(m, addr)
1717
if err != nil {
18-
log.Printf("forwarding to %s got err: %s", addr, err)
18+
llog.Error("forwarding error in tryProxy", llog.KV{"addr": addr, "err": err})
1919
return nil
2020
} else if len(aM.Answer) == 0 {
2121
return nil
@@ -42,6 +42,7 @@ func queryServers(r *dns.Msg, servers []string) *dns.Msg {
4242
}
4343

4444
func handleRequest(w dns.ResponseWriter, r *dns.Msg) {
45+
llog.Info("handling request", llog.KV{"question": r.Question[0].Name})
4546
var m *dns.Msg
4647
for i := range dnsServerGroups {
4748
m = queryServers(r, dnsServerGroups[i])
@@ -50,6 +51,7 @@ func handleRequest(w dns.ResponseWriter, r *dns.Msg) {
5051
}
5152
}
5253
if m == nil {
54+
llog.Warn("answer to request not found", llog.KV{"question": r.Question[0].Name})
5355
dns.HandleFailed(w, r)
5456
return
5557
}
@@ -79,13 +81,21 @@ func main() {
7981
Description: "Timeout in milliseconds for each request",
8082
Default: "300",
8183
})
84+
l.Add(lever.Param{
85+
Name: "--log-level",
86+
Description: "Minimum log level to show, either debug, info, warn, error, or fatal",
87+
Default: "info",
88+
})
8289
l.Parse()
8390

8491
addr, _ := l.ParamStr("--listen-addr")
8592
dnsServers, _ := l.ParamStrs("--fwd-to")
8693
combineGroups := l.ParamFlag("--parallel")
8794
timeout, _ := l.ParamInt("--timeout")
8895

96+
logLevel, _ := l.ParamStr("--log-level")
97+
llog.SetLevelFromString(logLevel)
98+
8999
if combineGroups {
90100
//combine all the servers sent into one group
91101
dnsServerGroups = make([][]string, 1)
@@ -111,12 +121,14 @@ func main() {
111121

112122
handler := dns.HandlerFunc(handleRequest)
113123
go func() {
114-
log.Printf("Listening on %s (udp)", addr)
115-
log.Fatal(dns.ListenAndServe(addr, "udp", handler))
124+
llog.Info("listening on udp", llog.KV{"addr": addr})
125+
err := dns.ListenAndServe(addr, "udp", handler)
126+
llog.Fatal("error listening on udp", llog.KV{"err": err})
116127
}()
117128
go func() {
118-
log.Printf("Listening on %s (tcp)", addr)
119-
log.Fatal(dns.ListenAndServe(addr, "tcp", handler))
129+
llog.Info("listening on tcp", llog.KV{"addr": addr})
130+
err := dns.ListenAndServe(addr, "tcp", handler)
131+
llog.Fatal("error listening on tcp", llog.KV{"err": err})
120132
}()
121133

122134
select {}

0 commit comments

Comments
 (0)