2015-05-16 3 views
1

Драйвер Mongo java является подробным, так как v3.x.x, это не очень удобно для хранения журнала журналов, подобных этому. Хотели бы скрыть некоторые из них.драйвер mongodb - как скрыть журнал отладки с log4j?

Вот моя зависимость (Maven/pom.xml)

<dependency> 
    <groupId>org.mongodb</groupId> 
    <artifactId>mongo-java-driver</artifactId> 
    <version>3.0.1</version> 
</dependency> 

<!-- LOGS --> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.5</version> 
    </dependency> 
    <dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.17</version> 
    </dependency>  
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jcl-over-slf4j</artifactId> 
    <version>1.7.5</version> 
    </dependency> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>jul-to-slf4j</artifactId> 
    <version>1.7.5</version> 
    </dependency> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.7.5</version> 
    </dependency> 

Я хочу, чтобы скрыть журналы драйверов Монго Java:

2015-05-16 10:43:22 023 DEBUG command:56 - Sending command {count : BsonString{value='skydatas'}} to database rizze on connection [connectionId{localValue:2, serverValue:9}] to server 127.0.0.1:27017 
2015-05-16 10:43:22 041 DEBUG command:56 - Command execution completed 
2015-05-16 10:43:22 042 DEBUG command:56 - Sending command {count : BsonString{value='skydatas'}} to database rizze on connection [connectionId{localValue:2, serverValue:9}] to server 127.0.0.1:27017 
2015-05-16 10:43:22 060 DEBUG command:56 - Command execution completed 


2015-05-16T10:49:34.448Z DEBUG Checking status of 127.0.0.1:27017 | | cluster:56 
2015-05-16T10:49:34.452Z DEBUG Updating cluster description to {type=STANDALONE, servers=[{address=127.0.0.1:27017, type=STANDALONE, roundTripTime=1,3 ms, state=CONNECTED}] | | cluster:56 

Благодаря

+0

У меня такой же выпуск. Я расследую. –

+0

andrea, пожалуйста, взгляните на мой ответ. – jeorfevre

ответ

1

Вы должны быть в состоянии сделать это из файла конфигурации log4j.

Первое, что я хотел бы сделать, это временно добавить полностью квалифицированное имя класса в ваш формат log4j appender (%C, если вы используете форматировщик на основе PatternLayout). Это дает вам имена пакетов и классов источника операторов ведения журнала, которые вы хотите исключить.

Затем следуйте примеру из log4j manual, чтобы специально повысить уровень ведения журнала пакетов/классов, которые вы не хотите видеть (найдите страницу для текста из фрагмента ниже, чтобы найти ее на странице для большего контекста):

# Print only messages of level WARN or above in the package com.foo. 
log4j.logger.com.foo=WARN 

не забудьте взять %C из вашего шаблона, когда вы исключили все пакеты, которые вы не хотите видеть.

0

Вот конфигурация log4j, я использую с log4j:

# Log4J logger file 
log = ./log4j 
log4j.rootLogger = WARN, CONSOLE 
log4j.logger.com.rizze.db=INFO 


# Direct log messages to stdout 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.Target=System.out 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} %-5p %m/%c{1}:%L %n 

Что делает эту работу вокруг - показать журналы с уровнем> = INFO для пакета com.rizze.db - показать другие Журналы с уровнем> = WARN

0

это работа для меня.

добавьте эту строку в конфигурацию log4j, чтобы устранить эту проблему.

log4j.logger.org.mongodb.driver=ERROR

Смежные вопросы