10
10
import com .neueda .jetbrains .plugin .graphdb .database .neo4j .bolt .data .Neo4jBoltQueryResultColumn ;
11
11
import com .neueda .jetbrains .plugin .graphdb .database .neo4j .bolt .data .Neo4jBoltQueryResultRow ;
12
12
import com .neueda .jetbrains .plugin .graphdb .database .opencypher .gremlin .query .OpenCypherGremlinQueryResult ;
13
+ import org .apache .log4j .Level ;
14
+ import org .apache .log4j .LogManager ;
15
+ import org .apache .log4j .Logger ;
16
+ import org .apache .log4j .PropertyConfigurator ;
13
17
import org .apache .tinkerpop .gremlin .driver .Client ;
14
18
import org .apache .tinkerpop .gremlin .driver .Cluster ;
15
19
import org .apache .tinkerpop .gremlin .driver .Result ;
16
20
import org .neo4j .driver .v1 .exceptions .ClientException ;
17
21
import org .opencypher .gremlin .client .CypherGremlinClient ;
18
22
19
23
import java .net .URI ;
20
- import java .util .Collections ;
21
- import java .util .HashMap ;
22
- import java .util .List ;
23
- import java .util .Map ;
24
+ import java .util .*;
24
25
import java .util .concurrent .ExecutionException ;
25
26
import java .util .stream .Collectors ;
26
27
27
28
import static java .util .Collections .*;
28
- import static java .util .stream .Collectors .*;
29
-
29
+ import static java .util .stream .Collectors .toList ;
30
30
/**
31
31
* Communicates with TinkerPop database by translating Cypher to Gremlin
32
32
*/
@@ -35,6 +35,10 @@ public class OpenCypherGremlinDatabase implements GraphDatabaseApi {
35
35
private final Cluster cluster ;
36
36
private final GremlinFlavor flavor ;
37
37
38
+ static {
39
+ disableGremlinLog ();
40
+ }
41
+
38
42
public OpenCypherGremlinDatabase (Map <String , String > configuration ) {
39
43
this (new OpenCypherGremlinConfiguration (configuration ));
40
44
}
@@ -162,4 +166,19 @@ private GraphQueryResult notSupported() {
162
166
emptyList ()
163
167
);
164
168
}
169
+
170
+ @ SuppressWarnings ("unchecked" )
171
+ private static void disableGremlinLog () {
172
+ final String gremlinDriver = "org.apache.tinkerpop.gremlin.driver" ;
173
+
174
+ Properties props = new Properties ();
175
+ props .setProperty ("log4j.logger." + gremlinDriver , Level .OFF .toString ());
176
+ PropertyConfigurator .configure (props );
177
+
178
+ Enumeration <Logger > loggers = LogManager .getCurrentLoggers ();
179
+ Collections .list (loggers )
180
+ .stream ()
181
+ .filter (logger -> logger .getName ().startsWith (gremlinDriver ))
182
+ .forEach (logger -> logger .setLevel (Level .OFF ));
183
+ }
165
184
}
0 commit comments