我正在使用Cassandra和JBoss 4.2.3。 我试图通过跟随this link在jboss-log4j.xml中配置Cassandra的调试日志:
<logger name="com.datastax.driver.core" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.datastax.driver.core.Cluster" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.datastax.driver.core.Session" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.datastax.driver.core.RequestHandler" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
<logger name="com.datastax.driver.core.Connection" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE" />
</logger>
<root>
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
但是JBoss并没有把它拿起来。它可以从standlone java程序中正常工作。 我如何使它工作?
答案 0 :(得分:1)
回答我自己的问题虽然这可能不是一个完美的解决方案: 由于我无法通过配置文件执行此操作,因此我使用Link1和Link2以编程方式执行此操作:
FileAppender fa = new FileAppender();
fa.setName("FileLogger");
fa.setFile("${jboss.server.home.dir}/all/log/Cassandra.log");
fa.setLayout(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
fa.setThreshold(Level.TRACE);
fa.setAppend(true);
fa.activateOptions();
Logger rootLogger = Logger.getRootLogger();
Logger cassandraLogger = rootLogger.getLoggerRepository().getLogger("com.datastax.driver.core");
cassandraLogger.setLevel(Level.TRACE);
cassandraLogger.addAppender(fa);