У меня была аналогичная ситуация на Mac, и для меня работал следующий процесс:
В терминале введите
vi ~/.profile
Затем добавьте эту строку в файл и save
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk.jdk/Contents/Home
, где версия является той, что на вашем компьютере, например 1.7.0_25
.
Выйдите из редактора, затем введите следующую команду, чтобы она стала эффективной
source ~/.profile
Затем введите java -version, чтобы проверить результат
java -version
Что такое .profile
файл?
. Файл файла является скрытым файлом. Это необязательный файл, который сообщает системе, какие команды запускаться, когда пользователь, чей файл профиля находится в нем. Например, если мое имя пользователя - bruno, и в файле / Users / bruno / содержится все .profile-файл, все его содержимое будет выполняться во время процедуры входа в систему.
Итак, это решило эту проблему:
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
...
static Logger root = (Logger) LoggerFactory
.getLogger(Logger.ROOT_LOGGER_NAME);
static {
root.setLevel(Level.INFO);
}
Вы можете установить Level
на более высокий Level
, если вы хотите скрыть все журналы.
Чтобы отключить все регистраторы:
final LogManager lm = LogManager.getLogManager();
for( final Enumeration<String> i = lm.getLoggerNames(); i.hasMoreElements(); ) {
lm.getLogger( i.nextElement()).setLevel( Level.OFF );
}
Чтобы эта часть кода работала, вам нужно иметь Logback. (Если проект maven)
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
Затем, если вы хотите отключить ведение журнала Mongo, вы должны сделать что-то вроде этого:
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
Logger rootLogger = loggerContext.getLogger("org.mongodb.driver");
rootLogger.setLevel(Level.OFF);
Снова, чтобы быть ясным, вот список импорта для этого кода:
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
import org.slf4j.LoggerFactory;
Это решение предназначено для mongo java driver 3.0.0 и ^.
Edit: Вот один лайнер с набором уровней к ERROR.
((LoggerContext) LoggerFactory.getILoggerFactory()).getLogger("org.mongodb.driver").setLevel(Level.ERROR);
Для тех, кто по-прежнему сталкивается с проблемой регистрации, вы должны установить уровень журнала org.mongodb.driver на что-то большее, например WARN или ERROR. Класс com.mongodb больше не используется, даже если он все еще записан в журналах.
См. Последний ответ этого сообщения: Настроить ведение журнала для Java-драйвера MongoDB
В моем случае MongoDB driver 3.5.0
, SLF4j+Log4j12
было достаточно добавить:
log4j.logger.org.mongodb.driver=OFF
в файл конфигурации Log4j .properties
.
Я решил его использовать,
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.
, если вы используете ресурс xml для настройки Logback, вы можете легко сделать это, добавив следующее:
<logger name="org.mongodb.driver.cluster" level="OFF" />
к вашей конфигурации.
используйте следующий импорт
import java.util.logging.Logger;
используйте приведенное ниже код.
Logger mongoLogger = Logger.getLogger ( «com.mongodb»); mongoLogger.setLevel (Level.SEVERE);