2016-12-19 57 views
3

有没有简单的方法来通过xml配置打开卡桑德拉上的查询日志记录?我正在使用命名空间:卡桑德拉通过弹簧配置查询日志记录

xmlns:cassandra="http://www.springframework.org/schema/data/cassandra" 

但我找不到任何合适的解决方案。我试图通过cqlsh打开跟踪,但它不适用于我的应用程序。

我试图还添加一行:

<logger name="com.datastax.driver.core.QueryLogger.NORMAL" level="TRACE" /> 

但也不起作用。

我的版本: 弹簧数据卡桑德拉-1.4.0 卡桑德拉:2.1.5

回答

3

请看看这个link和检查,如果你添加的查询记录器,以表示群集定义,如:

Cluster cluster = ... 
QueryLogger queryLogger = QueryLogger.builder(cluster) 
    .withConstantThreshold(...) 
    .withMaxQueryStringLength(...) 
.build(); 
cluster.register(queryLogger); 

让我知道它是否有帮助。

+0

任何application.properties解决方案? – Mojtabye

1

添加QueryLogger@Bean并获得Cluster @Autowired在:

@Bean 
public QueryLogger queryLogger(Cluster cluster) { 
    QueryLogger queryLogger = QueryLogger.builder() 
      .build(); 
    cluster.register(queryLogger); 
    return queryLogger; 
} 

(+显然配置QueryLogger.Builder根据需要)。

不要忘了在你的application.yml日志级别设置为DEBUG/TRACE

logging.level.com.datastax.driver.core.QueryLogger.NORMAL: DEBUG 
logging.level.com.datastax.driver.core.QueryLogger.SLOW: TRACE 

瞧!