aboutsummaryrefslogtreecommitdiffstats
path: root/sql/logger.go
diff options
context:
space:
mode:
Diffstat (limited to 'sql/logger.go')
-rw-r--r--sql/logger.go36
1 files changed, 18 insertions, 18 deletions
diff --git a/sql/logger.go b/sql/logger.go
index 4902011..0c2fd6a 100644
--- a/sql/logger.go
+++ b/sql/logger.go
@@ -16,17 +16,17 @@ const (
LogHijacked
)
-// Logger is a logs DNS requests to a SQL database.
+// Logger is a logger that logs DNS requests to a SQL database.
type Logger struct {
mode int
- queue chan Entry
+ queue chan LogEntry
client *Client
wg sync.WaitGroup
now func() time.Time
}
-// Entry represents a DNS request log entry.
-type Entry struct {
+// LogEntry represents a log entry for a DNS request.
+type LogEntry struct {
Time time.Time
RemoteAddr net.IP
Hijacked bool
@@ -39,7 +39,7 @@ type Entry struct {
func NewLogger(client *Client, mode int, ttl time.Duration) *Logger {
l := &Logger{
client: client,
- queue: make(chan Entry, 1024),
+ queue: make(chan LogEntry, 1024),
now: time.Now,
mode: mode,
}
@@ -64,7 +64,7 @@ func (l *Logger) Record(remoteAddr net.IP, hijacked bool, qtype uint16, question
return
}
l.wg.Add(1)
- l.queue <- Entry{
+ l.queue <- LogEntry{
Time: l.now(),
RemoteAddr: remoteAddr,
Hijacked: hijacked,
@@ -74,43 +74,43 @@ 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.client.ReadLog(n)
+// Read returns the n most recent log entries.
+func (l *Logger) Read(n int) ([]LogEntry, error) {
+ entries, err := l.client.readLog(n)
if err != nil {
return nil, err
}
- ids := make(map[int64]*Entry)
- entries := make([]Entry, 0, len(logEntries))
- for _, le := range logEntries {
+ ids := make(map[int64]*LogEntry)
+ logEntries := make([]LogEntry, 0, len(entries))
+ for _, le := range entries {
entry, ok := ids[le.ID]
if !ok {
- newEntry := Entry{
+ newEntry := LogEntry{
Time: time.Unix(le.Time, 0).UTC(),
RemoteAddr: le.RemoteAddr,
Hijacked: le.Hijacked,
Qtype: le.Qtype,
Question: le.Question,
}
- entries = append(entries, newEntry)
- entry = &entries[len(entries)-1]
+ logEntries = append(logEntries, newEntry)
+ entry = &logEntries[len(logEntries)-1]
ids[le.ID] = entry
}
if le.Answer != "" {
entry.Answers = append(entry.Answers, le.Answer)
}
}
- return entries, nil
+ return logEntries, nil
}
func (l *Logger) readQueue(ttl time.Duration) {
for e := range l.queue {
- if err := l.client.WriteLog(e.Time, e.RemoteAddr, e.Hijacked, e.Qtype, e.Question, e.Answers...); err != nil {
+ 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.client.DeleteLogBefore(t); err != nil {
+ if err := l.client.deleteLogBefore(t); err != nil {
log.Printf("deleting log entries before %v failed: %s", t, err)
}
}