]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
attempt to log query+client for startDoResolve exceptions, refs #795
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Fri, 10 May 2013 14:38:34 +0000 (16:38 +0200)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Fri, 10 May 2013 14:39:06 +0000 (16:39 +0200)
pdns/pdns_recursor.cc

index 89007c9388e9fafd9be2fe4c941f9b4cceb5e73f..00c30f72c1e93cfc7069263997f0d812e93e70b6 100644 (file)
@@ -491,8 +491,11 @@ void updateRcodeStats(int res)
 void startDoResolve(void *p)
 {
   DNSComboWriter* dc=(DNSComboWriter *)p;
+  string loginfo="";
 
   try {
+    loginfo=" (while setting loginfo)";
+    loginfo=" ("+dc->d_mdp.d_qname+"/"+lexical_cast<string>(dc->d_mdp.d_qtype)+" from "+(dc->d_remote.toString())+")";
     uint32_t maxanswersize= dc->d_tcp ? 65535 : 512;
     EDNSOpts edo;
     if(getEDNSOpts(dc->d_mdp, &edo)) {
@@ -672,19 +675,19 @@ void startDoResolve(void *p)
     dc=0;
   }
   catch(AhuException &ae) {
-    L<<Logger::Error<<"startDoResolve problem: "<<ae.reason<<endl;
+    L<<Logger::Error<<"startDoResolve problem"<<loginfo<<": "<<ae.reason<<endl;
     delete dc;
   }
   catch(MOADNSException& e) {
-    L<<Logger::Error<<"DNS parser error: "<<dc->d_mdp.d_qname<<", "<<e.what()<<endl;
+    L<<Logger::Error<<"DNS parser error"<<loginfo<<": "<<dc->d_mdp.d_qname<<", "<<e.what()<<endl;
     delete dc;
   }
   catch(std::exception& e) {
-    L<<Logger::Error<<"STL error: "<<e.what()<<endl;
+    L<<Logger::Error<<"STL error"<<loginfo<<": "<<e.what()<<endl;
     delete dc;
   }
   catch(...) {
-    L<<Logger::Error<<"Any other exception in a resolver context"<<endl;
+    L<<Logger::Error<<"Any other exception in a resolver context"<<loginfo<<endl;
   }
   
   g_stats.maxMThreadStackUsage = max(MT->getMaxStackUsage(), g_stats.maxMThreadStackUsage);