Cassandra在JBoss 4.2.3中调试日志记录

时间:2015-08-11 11:48:11

标签: jboss cassandra log4j cassandra-2.0

我正在使用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程序中正常工作。 我如何使它工作?

1 个答案:

答案 0 :(得分:1)

回答我自己的问题虽然这可能不是一个完美的解决方案: 由于我无法通过配置文件执行此操作,因此我使用Link1Link2以编程方式执行此操作:

        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);