From: Pieter Lexis Date: Mon, 21 Jan 2019 17:31:48 +0000 (+0100) Subject: webserver: document the setting and set lvl to NOTICE X-Git-Tag: dnsdist-1.4.0-alpha1~39^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64c08e25825ae5ef2a702277884003902ced9607;p=thirdparty%2Fpdns.git webserver: document the setting and set lvl to NOTICE --- diff --git a/docs/settings.rst b/docs/settings.rst index 3910bc3045..e4a1b6e2bc 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -1601,6 +1601,47 @@ IP Address for webserver/API to listen on. Webserver/API access is only allowed from these subnets. +.. _setting-webserver-loglevel: + +``webserver-loglevel`` +---------------------- +.. versionadded:: 4.2.0 + +- String, one of "none", "normal", "detailed" + +The amount of logging the webserver must do. "none" means no useful webserver information will be logged. +When set to "normal", the webserver will log a line per request that should be familiar:: + + [webserver] 127.0.0.1:55376 "GET /api/v1/servers/localhost/bla HTTP/1.1" 404 196 + +When set to "detailed", all information about the request and response are logged:: + + [webserver] Request Details: + [webserver] Headers: + [webserver] accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 + [webserver] accept-encoding: gzip, deflate + [webserver] accept-language: en-US,en;q=0.5 + [webserver] connection: keep-alive + [webserver] dnt: 1 + [webserver] host: 127.0.0.1:8081 + [webserver] upgrade-insecure-requests: 1 + [webserver] user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0 + [webserver] No body + [webserver] Response details: + [webserver] Headers: + [webserver] Connection: close + [webserver] Content-Length: 49 + [webserver] Content-Type: text/html; charset=utf-8 + [webserver] Server: PowerDNS/0.0.15896.0.gaba8bab3ab + [webserver] Full body: + [webserver] Not Found

Not Found

+ [webserver] 127.0.0.1:55376 "GET /api/v1/servers/localhost/bla HTTP/1.1" 404 196 + +The value between the hooks is a UUID that is generated for each request. This can be used to find all lines related to a single request. + +.. note:: + The webserver logs these line on the NOTICE level. The :ref:`settings-loglevel` seting must be 5 or higher for these lines to end up in the log. + .. _setting-webserver-password: ``webserver-password`` diff --git a/pdns/webserver.cc b/pdns/webserver.cc index e83666fd4b..2b813cfc04 100644 --- a/pdns/webserver.cc +++ b/pdns/webserver.cc @@ -315,40 +315,40 @@ void WebServer::serveConnection(std::shared_ptr client) const { } if (d_loglevel >= WebServer::LogLevel::Detailed) { - g_log< client) const { reply = ss.str(); if (d_loglevel >= WebServer::LogLevel::Detailed) { - g_log< client) const { } if (d_loglevel >= WebServer::LogLevel::Normal) { - g_log<