SLF4J not found on the classpath while connecting Mongodb with Java

Viewed 232

I'm facing issue while setting up connection of Java(17.0.1) with MongoDb(5.0.3) through Eclipse. can anyone please help to resolve this issue.

package DemoMongo.DemoMongo;
    
    import com.mongodb.*; import com.mongodb.client.MongoClients; import
    com.mongodb.client.MongoClient; import
    com.mongodb.client.MongoCollection; import
    com.mongodb.client.MongoDatabase; import
    com.mongodb.client.model.Filters;
    
    import com.mongodb.client.model.UpdateOptions; import
    com.mongodb.client.result.*; import org.bson.Document; import
    org.bson.types.ObjectId;
    
    import java.util.List; import java.util.Arrays; import
    java.util.ArrayList;
    
    import static com.mongodb.client.model.Filters.*; import static
    com.mongodb.client.model.Updates.*;
    
    public class DemoMongoDatabase {
    
        public static void main(String[] args) {        // TODO Auto-generated
    method stub
                    // Step-1 Connection
                    MongoClient mongoClient = MongoClients.create("mongodb://hostOne:27017,hostTwo:27018");
            MongoDatabase database = mongoClient.getDatabase("my_database");
            MongoCollection<Document> toys = database.getCollection("toys");
            //Create a new document         Document doc = new
    Document().append("username","****").append("pwd","****");
            toys.insertOne(doc);        mongoClient.close();    }
    
    }

Nov 13, 2021 5:12:27 PM com.mongodb.diagnostics.logging.Loggers shouldUseSLF4J WARNING: SLF4J not found on the classpath. Logging is disabled for the 'org.mongodb.driver' component Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=hosttwo:27018, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: hosttwo}, caused by {java.net.UnknownHostException: hosttwo}}, {address=hostone:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: hostone}, caused by {java.net.UnknownHostException: hostone}}] at com.mongodb.internal.connection.BaseCluster.getDescription(BaseCluster.java:177) at com.mongodb.internal.connection.AbstractMultiServerCluster.getDescription(AbstractMultiServerCluster.java:54) at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:147) at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:98) at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:278) at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:202) at com.mongodb.client.internal.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:1008) at com.mongodb.client.internal.MongoCollectionImpl.executeInsertOne(MongoCollectionImpl.java:469) at com.mongodb.client.internal.MongoCollectionImpl.insertOne(MongoCollectionImpl.java:452) at com.mongodb.client.internal.MongoCollectionImpl.insertOne(MongoCollectionImpl.java:446) at DemoMongo.DemoMongo.DemoMongoDatabase.main(DemoMongoDatabase.java:34)

1 Answers

Add SL4J to classpath by adding it as a dependency to build.gradle

dependencies {
implementation 'org.slf4j:slf4j-log4j12:1.7.36'
}

Go ahead and initialize by adding the following lines before making connection to MongoDB

Logger logger = Logger.getLogger(DemoMongoDatabase.class);
BasicConfigurator.configure();
Related