Настроить ведение журнала для драйвера MongoDB Java - PullRequest
28 голосов
/ 03 марта 2012

Могу ли я настроить драйвер Java MongoDB для вывода полезных (для отладки) сообщений, в идеале с использованием одной из стандартных платформ журналирования? В основном мне было бы интересно посмотреть на каждый выходящий запрос, сколько данных было получено и сколько времени это заняло, а также коды ошибок.

Ответы [ 5 ]

22 голосов
/ 03 марта 2012

Вам необходимо установить пару системных свойств перед загрузкой любого из классов драйверов MongoDB Java:

// Enable MongoDB logging in general
System.setProperty("DEBUG.MONGO", "true");

// Enable DB operation tracing
System.setProperty("DB.TRACE", "true");

После этого драйвер будет использовать стандартную среду ведения журналов Java для регистрации сообщений.

К сожалению, насколько я могу судить по коду драйвера Java, детализация ведения журнала не так уж хороша - например, вы не можете выборочно регистрировать операции с определенной коллекцией.

19 голосов
/ 25 декабря 2015

Кто-нибудь еще сталкивался с этой проблемой с новой версией драйвера mongodb 3.x?

определить регистратор для пакета драйвера mongo в log4j.properties

log4j.logger.org.mongodb.driver=INFO

com.mongodb изменено на org.mongodb .

16 голосов
/ 12 сентября 2012

Другой способ установить уровень журнала MongoDB:

import java.util.logging.Logger;
Logger mongoLogger = Logger.getLogger( "com.mongodb" );
mongoLogger.setLevel(Level.SEVERE); // e.g. or Log.WARNING, etc.

Вам не нужно делать это перед использованием любого из классов драйверов, вы можете устанавливать / изменять уровни журналов в любое время.

7 голосов
/ 06 февраля 2017

У меня работает следующая строка,

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.
0 голосов
/ 02 апреля 2019

Начиная с 3.11 beta2, это работало для меня

import com.mongodb.diagnostics.logging.Loggers;

import java.util.logging.Level;
import java.util.logging.Logger;


Logger.getLogger(Loggers.PREFIX).setLevel(Level.SEVERE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...