Merge pull request #427 from atoulme/more_logging

expose more logging and set up sane logging when using the client
diff --git a/eth-client/src/main/kotlin/org/apache/tuweni/ethclient/WireConnectionPeerRepositoryAdapter.kt b/eth-client/src/main/kotlin/org/apache/tuweni/ethclient/WireConnectionPeerRepositoryAdapter.kt
index ccb0112..442ba77 100644
--- a/eth-client/src/main/kotlin/org/apache/tuweni/ethclient/WireConnectionPeerRepositoryAdapter.kt
+++ b/eth-client/src/main/kotlin/org/apache/tuweni/ethclient/WireConnectionPeerRepositoryAdapter.kt
@@ -21,6 +21,7 @@
 import org.apache.tuweni.rlpx.WireConnectionRepository
 import org.apache.tuweni.rlpx.wire.SubProtocolIdentifier
 import org.apache.tuweni.rlpx.wire.WireConnection
+import org.slf4j.LoggerFactory
 import java.time.Instant
 import java.util.concurrent.ConcurrentHashMap
 
@@ -29,6 +30,10 @@
  */
 class WireConnectionPeerRepositoryAdapter(val peerRepository: EthereumPeerRepository) : WireConnectionRepository {
 
+  companion object {
+    val logger = LoggerFactory.getLogger(WireConnectionPeerRepositoryAdapter::class.java)
+  }
+
   private val wireConnectionToIdentities = ConcurrentHashMap<String, Identity>()
   private val connections = ConcurrentHashMap<String, WireConnection>()
   private val connectionListeners = ArrayList<WireConnectionRepository.Listener>()
@@ -79,7 +84,11 @@
   }
 
   fun get(ethereumConnection: EthereumConnection): WireConnection {
-    val conn = connections[ethereumConnection.identity().id()] ?: throw NoSuchElementException("No connection available")
+    val conn = connections[ethereumConnection.identity().id()]
+    if (conn == null) {
+      logger.info("Connection ${ethereumConnection.identity().id()} not found, present are: ${connections.keys.joinToString(",")}}")
+      throw NoSuchElementException("No connection available")
+    }
     return conn
   }
 
diff --git a/eth-client/src/main/resources/logback.xml b/eth-client/src/main/resources/logback.xml
index cb63fd5..4d1a5fe 100644
--- a/eth-client/src/main/resources/logback.xml
+++ b/eth-client/src/main/resources/logback.xml
@@ -11,7 +11,7 @@
  an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  specific language governing permissions and limitations under the License.
 -->
-<configuration>
+<configuration scan="true">
 
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <!-- encoders are assigned the type
@@ -20,8 +20,20 @@
             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
         </encoder>
     </appender>
+    <logger level="info" name="org.infinispan" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
+    <logger level="info" name="io.netty.buffer" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
+    <logger level="info" name="org.xbill.DNS" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
+    <logger level="info" name="org.eclipse.jetty" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
 
-    <root level="info">
+    <root level="${root.log.level:-INFO}">
         <appender-ref ref="STDOUT" />
     </root>
 </configuration>
\ No newline at end of file