¿Puedo configurar el controlador MongoDB Java para generar mensajes útiles (para la depuración), idealmente utilizando uno de los marcos de registro estándar? Principalmente me interesaría ver cada consulta que sale, cuántos datos se recibieron y cuánto tiempo tomó, así como cualquier código de error.Configurar el registro para el controlador MongoDB Java
Respuesta
Es necesario configurar un par de propiedades del sistema antes de cargar cualquiera de las clases de Java conductor MongoDB:
// Enable MongoDB logging in general
System.setProperty("DEBUG.MONGO", "true");
// Enable DB operation tracing
System.setProperty("DB.TRACE", "true");
Después de hacer que el controlador utilizará the standard Java logging framework para registrar mensajes.
Desafortunadamente, por lo que puedo decir por el código del controlador de Java, la granularidad del registro no es del todo buena, por ejemplo, no puede registrar operaciones de forma selectiva en una colección específica.
Otra forma de hacer establecer el nivel de registro de MongoDB:
import java.util.logging.Logger;
Logger mongoLogger = Logger.getLogger("com.mongodb");
mongoLogger.setLevel(Level.SEVERE); // e.g. or Log.WARNING, etc.
Usted no tiene que hacer esto antes de usar cualquiera de las clases de controladores, puede establecer niveles de registro/cambiar en cualquier momento.
Esto sería mejor con un nombre de paquete para el registrador. ¿Es JUL? SLF4j? – bmargulies
Intenté eso pero no funciona para mí. ¿Es necesario llamar esto después de que mongo se haya inicializado o algo así? –
Corrigiéndome a mí mismo, puedo establecer el nivel pero no puedo establecer el filtro. –
¿Alguien todavía enfrenta este problema con la nueva versión del controlador mongodb 3.x?
definen un registrador para el paquete de controladores mongo en log4j.properties
log4j.logger.org.mongodb.driver=INFO
com.mongodb ha cambiado a org.mongodb.
Lo agregué en mi log4j.properties y no sucede nada cuando realizo consultas ... no veo ningún registro, excepto mis mensajes de registro personalizados que agregué ... – user1955934
Siguiendo la línea funciona para mí,
import java.util.logging.Logger;
import java.util.logging.Level;
Logger mongoLogger = Logger.getLogger("org.mongodb.driver");
mongoLogger.setLevel(Level.SEVERE); // e.g. or Log.WARNING, etc.
- 1. Mejore el rendimiento en Mongodb usando el controlador java
- 2. Actualizar una matriz en MongoDB usando el controlador Java
- 3. ¿Cómo encontrar el registro coincidente en mongodb?
- 4. Cómo configurar el diseño desde el controlador
- 5. ¿cómo configuro el nivel de registro para información para MongoDb?
- 6. Configurar el registro para el plugin maven de Jetty?
- 7. MongoDB $ set no actualiza el registro
- 8. Conectando a mongodb usando el controlador PDO
- 9. ¿Cuál es el controlador MongoDB más maduro para C#?
- 10. Configurar manualmente ModelState.isValid desde el controlador
- 11. ¿Cómo puedo crear una consulta $ o para MongoDB usando el controlador de Java?
- 12. ¿Cuál es el mejor controlador de Java para acceder a mongodb?
- 13. Configurar el controlador de opción predeterminado para OptionParser de Ruby
- 14. Cómo configurar el patrón de registro jdk14
- 15. Cómo configurar el nivel de registro predeterminado SBT para "advertir"?
- 16. ¿Cómo configurar el registro de commons para usar logback?
- 17. Rieles - Agregar registro para unir la tabla desde el controlador
- 18. ¿Cómo consultar documentos usando el campo "_id" en el controlador mongodb de Java?
- 19. ¿Qué controlador de MongoDB para Node.js?
- 20. ¿Cómo configurar el registro al ejecutar un JAR?
- 21. Obtener mongoStat a través del controlador mongoDB Java
- 22. ¿Cómo configurar el registro de Tomcat JULI para transferir archivos de registro?
- 23. Configurar el registro de Hadoop para evitar demasiados archivos de registro
- 24. $ set equivalente de MongoDb en su controlador java
- 25. Controlador MongoDB y Java: "ignorar caso" en la consulta
- 26. Compruebe si el controlador MongoDB PHP está instalado
- 27. Ordenar por $ natural en MongoDB con el controlador oficial C#
- 28. Java MongoDB obteniendo valor para el documento secundario
- 29. eliminar una entrada de matriz utilizando controlador MongoDB en Java
- 30. ¿Cómo configurar el nivel de registro específico de clase en el registro de GWT?
Se pregunta si alguien ha tratado de conseguir este trabajo en Scala, acceder al controlador a través de java casbah, con un API de registro SLF4J? Parece que no puedo obtener mensajes registrados en mi marco de registro cuando no uso JUL. – Brett
Estoy usando datos mongodb-spring pero esto no funciona, no obtengo ningún registro ... – user1955934