2016-10-12 12 views
0

私はjava mongodbドライバ3.2.2を使用しています(コンパイルグループ: 'org.mongodb'、名前: 'mongo-java-driver' '3.2.2)、ドライバからのロギングをオフにすることはできません。 私のプログラムは次のとおりです。java.util.loggingプロパティを使用してmongo javaドライバのログを制御するには

public static void main(String args[]) { 
    Enumeration<String> names = LogManager.getLogManager().getLoggerNames(); 

    Logger l = Logger.getLogger("org.mongodb.driver"); 
    l.info("Hello INFO!"); 
    l.warning("Hello WARNING!"); 

    SoundDB db = new SoundDB(); 
    db.doMain(args); 

    while (names.hasMoreElements()) 
     System.out.println("Name = " + names.nextElement()); 

    l.info("Hello INFO!"); 
    l.warning("Hello WARNING!"); 
} 

とに-Djava.util.logging.config.file = logging.propertiesで起動する場合、

Oct 12, 2016 7:44:22 PM com.ibm.watson.iot.sound.tools.SoundDB main 
WARNING: Hello WARNING! 
Loading caa properties from file:/C:/Users/IBM_ADMIN/git/iot-sound/IoT-Sound/caa.properties 
19:44:23.889 [main] INFO org.mongodb.driver.cluster - Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} 
19:44:23.971 [main] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING}] 
19:44:24.030 [main] INFO org.mongodb.driver.cluster - No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out 
19:44:24.042 [cluster-ClusterId{value='57fecad73df6efadcc807d9e', description='null'}-localhost:27017] INFO org.mongodb.driver.connection - Opened connection [connectionId{localValue:1, serverValue:1261}] to localhost:27017 
19:44:24.042 [cluster-ClusterId{value='57fecad73df6efadcc807d9e', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Checking status of localhost:27017 
19:44:24.044 [cluster-ClusterId{value='57fecad73df6efadcc807d9e', description='null'}-localhost:27017] INFO org.mongodb.driver.cluster - Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 2, 4]}, minWireVersion=0, maxWireVersion=4, maxDocumentSize=16777216, roundTripTimeNanos=1672627} 
19:44:24.046 [cluster-ClusterId{value='57fecad73df6efadcc807d9e', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=STANDALONE, servers=[{address=localhost:27017, type=STANDALONE, roundTripTime=1.7 ms, state=CONNECTED}] 
... 
Name = javax.management.monitor 
Name = javax.management.mlet 
Name = org.bson.ObjectId 
Name = global 
Name = org.mongodb.driver 
Name = javax.management 
Name = javax.management.mbeanserver 
Name = 
Oct 12, 2016 7:44:24 PM com.ibm.watson.iot.sound.tools.SoundDB main 
WARNING: Hello WARNING! 

logging.propertiesが

.level=WARNING 
handlers=java.util.logging.ConsoleHandler 
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter 
java.util.logging.ConsoleHandler.level=ALL 
が含まれて生成

org.mongodb.driverロガーのレベルはWARNINGに正しく設定されています。私の警告メッセージのみが出力され、情報メッセージは出力されないからです。私はプロパティに以下を追加した場合、変更は(私が期待するよう)がありません:

org.bson.ObjectId.level=WARNING 
org.mongodb.driver.level=WARNING 

だから、誰も私が間違ってやっている任意のアイデアを持っているのですか?ありがとう。

から

答えて

2

:デフォルトではhttp://mongodb.github.io/mongo-java-driver/3.2/driver/reference/management/logging/

」、ロギングが人気SLF4J APIを介して有効になっているSLF4Jの使用は任意であり、ドライバーがクラスパスにSLF4Jの存在を検出した場合、ドライバはSLF4Jを使用しますそれ以外の場合は、。。ドライバはJUL(java.util.logging)に落ちます」

(直接または他のlibsを介して)クラスパスにslf4j依存性がないことを確認してください。 slf4jを使用している場合には、Javaログを設定する代わりにslf4jを設定してログレベルを設定する必要があります。

slf4jは単にAPIをロギングしているだけで、実際のロギングは実装(JUG、Log4J、ログバック)によってサポートされます。詳細は、https://dzone.com/articles/how-configure-slf4j-differentを参照してください。実際に使用しているものは、クラスパスに依存します。 mavenを使用している場合は、依存関係の階層を取得することで見つけることができます。

+0

はい、mongoは利用可能なロギングフレームワークのいずれかをピックアップするSLF4Jを使用します。私の場合は、別の依存関係とブームによってログバックが追加され、ログが変更されました。私たちは皆、うんこを言うことができます!私はログバックを削除し、私はJULを使用することに戻り、私の世界ではすべてがうまくいきます。 –

関連する問題