cassandra 로그를 설정할 때 두 가지 방법이 있다.



1) logback.xml 설정 변경


/etc/cassandra/conf/logback.xml 파일에서 특정 패키지의 로그 수준을 변경한 후, cassandra를 시작시킨다. 



<configuration scan="true">

  <jmxConfigurator />

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

    <file>${cassandra.logdir}/system.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

      <fileNamePattern>${cassandra.logdir}/system.log.%i.zip</fileNamePattern>

      <minIndex>1</minIndex>

      <maxIndex>20</maxIndex>

    </rollingPolicy>


    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

      <maxFileSize>20MB</maxFileSize>

    </triggeringPolicy>

    <encoder>

      <pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n</pattern>

      <!-- old-style log format

      <pattern>%5level [%thread] %date{ISO8601} %F (line %L) %msg%n</pattern>

      -->

    </encoder>

  </appender>


  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>

      <pattern>%-5level %date{HH:mm:ss,SSS} %msg%n</pattern>

    </encoder>

  </appender>


  <root level="INFO">

    <appender-ref ref="FILE" />

    <appender-ref ref="STDOUT" />

  </root>


  <logger name="com.thinkaurelius.thrift" level="ERROR"/>

</configuration>




2) 동적 로그 수준 변경


logback 파일로 진행하면 다음과 같이  nodetool을 실행하면 동적으로 변경할 수 있다. 


$ nodetool setlogginglevel org.apache.cassandra.db DEBUG


Posted by '김용환'
,