]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: hook up webserver loglevel config
authorPieter Lexis <pieter.lexis@powerdns.com>
Fri, 18 Jan 2019 16:30:53 +0000 (17:30 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Fri, 18 Jan 2019 16:30:53 +0000 (17:30 +0100)
pdns/common_startup.cc
pdns/webserver.hh
pdns/ws-auth.cc

index ccdfbe8b25b429e9e29cc7e7e1e45e6d14ce7836..14376e723c9c66ddf802d6c21ee55e8fef1b20cc 100644 (file)
@@ -150,6 +150,7 @@ void declareArguments()
   ::arg().set("webserver-port","Port of webserver/API to listen on")="8081";
   ::arg().set("webserver-password","Password required for accessing the webserver")="";
   ::arg().set("webserver-allow-from","Webserver/API access is only allowed from these subnets")="127.0.0.1,::1";
+  ::arg().set("webserver-log-level","Amount of logging in the webserver (none, common, detailed)")="common";
 
   ::arg().setSwitch("do-ipv6-additional-processing", "Do AAAA additional processing")="yes";
   ::arg().setSwitch("query-logging","Hint backends that queries should be logged")="no";
index c9c9f39d9c4ed77d89a32e4ab63ae7c821c0a95c..5817d66099804789dac004b4e764a5c16a64c3a3 100644 (file)
@@ -191,6 +191,25 @@ public:
     Detailed = 20,           // The full request headers and body, and the full response headers and body
   };
 
+  void setLogLevel(const string& level) {
+    if (level == "none") {
+      d_loglevel = LogLevel::None;
+      return;
+    }
+
+    if (level == "common") {
+      d_loglevel = LogLevel::Common;
+      return;
+    }
+
+    if (level == "detailed") {
+      d_loglevel = LogLevel::Detailed;
+      return;
+    }
+
+    throw PDNSException("Unknown webserver log level: " + level);
+  }
+
   void setLogLevel(const LogLevel level) {
     d_loglevel = level;
   };
index f28937b965afdb7695716ec42e1b8c7530a13ae7..41b3cc02a85086c97dadf4373d7f717bada30b52 100644 (file)
@@ -68,6 +68,7 @@ AuthWebServer::AuthWebServer() :
     d_ws = new WebServer(arg()["webserver-address"], arg().asNum("webserver-port"));
     d_ws->setApiKey(arg()["api-key"]);
     d_ws->setPassword(arg()["webserver-password"]);
+    d_ws->setLogLevel(arg()["webserver-log-level"]);
 
     NetmaskGroup acl;
     acl.toMasks(::arg()["webserver-allow-from"]);