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