aboutsummaryrefslogtreecommitdiffstats
path: root/sql/logger.go
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-01-11 22:14:25 +0100
committerMartin Polden <mpolden@mpolden.no>2020-01-11 22:14:25 +0100
commit5b6af76040cd6d17972522629605f20aeeaa4076 (patch)
tree331d092649008ffac550ca2a1acec3b81176a497 /sql/logger.go
parentd403f0b1f605fe05cdd1e9d58618b0815f95000e (diff)
Simplify logger configuration
Diffstat (limited to 'sql/logger.go')
-rw-r--r--sql/logger.go21
1 files changed, 8 insertions, 13 deletions
diff --git a/sql/logger.go b/sql/logger.go
index 7890c54..4902011 100644
--- a/sql/logger.go
+++ b/sql/logger.go
@@ -20,10 +20,9 @@ const (
type Logger struct {
mode int
queue chan Entry
- db *Client
+ client *Client
wg sync.WaitGroup
now func() time.Time
- logger *log.Logger
}
// Entry represents a DNS request log entry.
@@ -37,13 +36,12 @@ type Entry struct {
}
// NewLogger creates a new logger. Persisted entries are kept according to ttl.
-func NewLogger(db *Client, mode int, ttl time.Duration, logger *log.Logger) *Logger {
+func NewLogger(client *Client, mode int, ttl time.Duration) *Logger {
l := &Logger{
- db: db,
+ client: client,
queue: make(chan Entry, 1024),
now: time.Now,
mode: mode,
- logger: logger,
}
if mode != LogDiscard {
go l.readQueue(ttl)
@@ -59,9 +57,6 @@ func (l *Logger) Close() error {
// Record records the given DNS request to the log database.
func (l *Logger) Record(remoteAddr net.IP, hijacked bool, qtype uint16, question string, answers ...string) {
- if l.db == nil {
- return
- }
if l.mode == LogDiscard {
return
}
@@ -81,7 +76,7 @@ func (l *Logger) Record(remoteAddr net.IP, hijacked bool, qtype uint16, question
// Get returns the n most recent persisted log entries.
func (l *Logger) Get(n int) ([]Entry, error) {
- logEntries, err := l.db.ReadLog(n)
+ logEntries, err := l.client.ReadLog(n)
if err != nil {
return nil, err
}
@@ -110,13 +105,13 @@ func (l *Logger) Get(n int) ([]Entry, error) {
func (l *Logger) readQueue(ttl time.Duration) {
for e := range l.queue {
- if err := l.db.WriteLog(e.Time, e.RemoteAddr, e.Hijacked, e.Qtype, e.Question, e.Answers...); err != nil {
- l.logger.Printf("write failed: %+v: %s", e, err)
+ if err := l.client.WriteLog(e.Time, e.RemoteAddr, e.Hijacked, e.Qtype, e.Question, e.Answers...); err != nil {
+ log.Printf("write failed: %+v: %s", e, err)
}
if ttl > 0 {
t := l.now().Add(-ttl)
- if err := l.db.DeleteLogBefore(t); err != nil {
- l.logger.Printf("deleting log entries before %v failed: %s", t, err)
+ if err := l.client.DeleteLogBefore(t); err != nil {
+ log.Printf("deleting log entries before %v failed: %s", t, err)
}
}
l.wg.Done()