middleware/log: allows logging based on response classes (#325)

Add the ability to add a class of responses to be logged; success,
denial or error. The default is to log everything (all).

Fixes #258
This commit is contained in:
Miek Gieben 2016-10-10 12:09:29 +01:00 committed by GitHub
parent caa3976bfe
commit c22b7b2252
13 changed files with 348 additions and 108 deletions

View file

@ -60,7 +60,7 @@ type ResponseWriter struct {
// WriteMsg implements the dns.ResponseWriter interface.
func (c *ResponseWriter) WriteMsg(res *dns.Msg) error {
do := false
mt, opt := response.Classify(res)
mt, opt := response.Typify(res)
if opt != nil {
do = opt.Do()
}
@ -93,7 +93,7 @@ func (c *ResponseWriter) set(m *dns.Msg, key string, mt response.Type, duration
}
switch mt {
case response.Success, response.Delegation:
case response.NoError, response.Delegation:
i := newItem(m, duration)
c.pcache.Add(key, i)