Предупреждение при запуске java для соединения с mongodb [duplicate]

У меня была аналогичная ситуация на 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-файл, все его содержимое будет выполняться во время процедуры входа в систему.

Источник: http://computers.tutsplus.com/tutorials/speed-up-your-terminal-workflow-with- команда-псевдонимы-и-профиль - макинтош-30515

15
задан itaied 9 May 2015 в 08:05
поделиться

9 ответов

Итак, это решило эту проблему:

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, если вы хотите скрыть все журналы.

7
ответ дан itaied 21 August 2018 в 00:17
поделиться
  • 1
    Я не понимаю, что это log4j над slf4j? где находится ch.qos.logback.classic.Level; , исходящий от? – ΦXocę 웃 Пepeúpa ツ 19 November 2015 в 13:47
  • 2
    библиотека журнала и slf4j – itaied 19 November 2015 в 13:54

Чтобы отключить все регистраторы:

final LogManager lm = LogManager.getLogManager();
for( final Enumeration<String> i = lm.getLoggerNames(); i.hasMoreElements(); ) {
   lm.getLogger( i.nextElement()).setLevel( Level.OFF );
}
7
ответ дан Aubin 21 August 2018 в 00:17
поделиться
  • 1
    я использую log4j, и я сделал это, установив свойство log4j: props.setProperty («log4j.logger.org.mongodb.driver», «WARN»); – Avinash Sahu 24 February 2016 в 06:20

Чтобы эта часть кода работала, вам нужно иметь 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);
8
ответ дан chneau 21 August 2018 в 00:17
поделиться
  • 1
    Мужчины, которых вы спасли мне. Я пробовал все, и это единственное решение, которое сработало – Geoffrey 29 October 2017 в 14:38
  • 2
    Я пробовал это, и он не работает от меня – arunkumar sambu 16 May 2018 в 10:49

Для тех, кто по-прежнему сталкивается с проблемой регистрации, вы должны установить уровень журнала org.mongodb.driver на что-то большее, например WARN или ERROR. Класс com.mongodb больше не используется, даже если он все еще записан в журналах.

См. Последний ответ этого сообщения: Настроить ведение журнала для Java-драйвера MongoDB

1
ответ дан Community 21 August 2018 в 00:17
поделиться

В моем случае MongoDB driver 3.5.0, SLF4j+Log4j12 было достаточно добавить:

log4j.logger.org.mongodb.driver=OFF

в файл конфигурации Log4j .properties.

0
ответ дан Giorgio Vespucci 21 August 2018 в 00:17
поделиться

Я решил его использовать,

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
ответ дан Hemant Thorat 21 August 2018 в 00:17
поделиться

, если вы используете ресурс xml для настройки Logback, вы можете легко сделать это, добавив следующее:

<logger name="org.mongodb.driver.cluster" level="OFF" />

к вашей конфигурации.

3
ответ дан Mohammad Rafigh 21 August 2018 в 00:17
поделиться

используйте следующий импорт

import java.util.logging.Logger;

используйте приведенное ниже код.

Logger mongoLogger = Logger.getLogger ( «com.mongodb»); mongoLogger.setLevel (Level.SEVERE);

2
ответ дан yoga 21 August 2018 в 00:17
поделиться
7
ответ дан Aubin 31 October 2018 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: