diff --git a/dnsforward/dnsforward.go b/dnsforward/dnsforward.go index a5a7193a..508011fc 100644 --- a/dnsforward/dnsforward.go +++ b/dnsforward/dnsforward.go @@ -215,6 +215,18 @@ func (s *Server) Stop() error { return errorx.Decorate(err, "Couldn't close UDP listening socket") } } + + // flush remainder to file + logBufferLock.Lock() + flushBuffer := logBuffer + logBuffer = nil + logBufferLock.Unlock() + err := flushToFile(flushBuffer) + if err != nil { + log.Printf("Saving querylog to file failed: %s", err) + return err + } + return nil }