Могу ли я настроить драйвер Java MongoDB для вывода полезных (для отладки) сообщений, в идеале используя одну из стандартных фреймворков регистрации? Мне в основном было бы интересно увидеть каждый запрос, который гаснет, сколько данных было получено и сколько времени потребовалось, а также любые коды ошибок.
Настройка ведения журнала для Java-драйвера MongoDB
Ответ 1
Перед загрузкой любого из классов Java-драйверов MongoDB вам необходимо установить несколько системных свойств:
// Enable MongoDB logging in general
System.setProperty("DEBUG.MONGO", "true");
// Enable DB operation tracing
System.setProperty("DB.TRACE", "true");
После этого драйвер будет использовать стандартную среду ведения журналов Java для регистрации сообщений.
К сожалению, насколько я могу судить по коду Java-драйвера, степень детализации регистрации не так уж и хороша - например, вы не можете выборочно записывать операции в определенной коллекции.
Ответ 2
Кто-нибудь еще сталкивается с этой проблемой с новой версией mongodb driver 3.x?
определить логгер для пакета драйверов mongo в log4j.properties
log4j.logger.org.mongodb.driver=INFO
com.mongodb изменился на org.mongodb.
Ответ 3
Другой способ установить уровень журнала MongoDB:
import java.util.logging.Logger;
Logger mongoLogger = Logger.getLogger( "com.mongodb" );
mongoLogger.setLevel(Level.SEVERE); // e.g. or Log.WARNING, etc.
Вам не нужно делать это перед использованием любого из классов драйверов, вы можете в любое время установить/изменить уровни журналов.
Ответ 4
Следующая строка работает для меня,
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.