aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-04-03 17:16:46 +0100
committerGravatar Miek Gieben <miek@miek.nl> 2016-04-03 17:16:46 +0100
commit7f36a853f79de0ecc3d899dea08629c6071f5437 (patch)
treeb09e6fef474234d82f8a298dca4cfc8ad5d1aba0
parentdd537b163ddf63eae428da346e4fa12c2266c0e7 (diff)
downloadcoredns-7f36a853f79de0ecc3d899dea08629c6071f5437.tar.gz
coredns-7f36a853f79de0ecc3d899dea08629c6071f5437.tar.zst
coredns-7f36a853f79de0ecc3d899dea08629c6071f5437.zip
Fix all the log replacers
-rw-r--r--middleware/log/README.md2
-rw-r--r--middleware/log/log.go2
-rw-r--r--middleware/replacer.go10
3 files changed, 10 insertions, 4 deletions
diff --git a/middleware/log/README.md b/middleware/log/README.md
index 2e5cd6d41..dabbbd1aa 100644
--- a/middleware/log/README.md
+++ b/middleware/log/README.md
@@ -47,7 +47,7 @@ The following place holders are supported:
* `{port}`: client's port.
* `{rcode}`: response RCODE.
* `{size}`: response size.
-* `{duration}`: response duration (in seconds).
+* `{duration}`: response duration.
* `{>bufsize}`: the EDNS0 buffer size advertized by the client.
* `{>do}`: is the EDNS0 DO (DNSSEC OK) bit set.
* `{>id}`: query ID
diff --git a/middleware/log/log.go b/middleware/log/log.go
index 6419fb707..998c2b602 100644
--- a/middleware/log/log.go
+++ b/middleware/log/log.go
@@ -58,7 +58,7 @@ const (
// DefaultLogFilename is the default log filename.
DefaultLogFilename = "query.log"
// CommonLogFormat is the common log format.
- CommonLogFormat = `{remote} ` + CommonLogEmptyValue + ` [{when}] "{type} {name} {proto}" {rcode} {size}`
+ CommonLogFormat = `{remote} ` + CommonLogEmptyValue + ` [{when}] "{type} {name} {proto} {>do} {>bufsize}" {rcode} {size} {duration}`
// CommonLogEmptyValue is the common empty log value.
CommonLogEmptyValue = "-"
// CombinedLogFormat is the combined log format.
diff --git a/middleware/replacer.go b/middleware/replacer.go
index 6a5d48b27..b9ea26745 100644
--- a/middleware/replacer.go
+++ b/middleware/replacer.go
@@ -1,7 +1,6 @@
package middleware
import (
- "fmt"
"strconv"
"strings"
"time"
@@ -62,7 +61,7 @@ func NewReplacer(r *dns.Msg, rr *ResponseRecorder, emptyValue string) Replacer {
// TODO(miek): syntax for flags and document it
rep.replacements[headerReplacer+"id}"] = strconv.Itoa(int(r.Id))
rep.replacements[headerReplacer+"opcode}"] = strconv.Itoa(int(r.Opcode))
- rep.replacements[headerReplacer+"do}"] = fmt.Sprintf("%b", state.Do())
+ rep.replacements[headerReplacer+"do}"] = boolToString(state.Do())
rep.replacements[headerReplacer+"bufsize}"] = strconv.Itoa(state.Size())
return rep
@@ -104,6 +103,13 @@ func (r replacer) Set(key, value string) {
r.replacements["{"+key+"}"] = value
}
+func boolToString(b bool) string {
+ if b {
+ return "true"
+ }
+ return "false"
+}
+
const (
timeFormat = "02/Jan/2006:15:04:05 -0700"
headerReplacer = "{>"