ロギングの構成
ログバックをバックエンドにしてSimple Logging Facade for Java(SLF4J)を使用するCassandraロギング機能。
Cassandraには、ログバックをバックエンドにしてSimple Logging Facade for Java(SLF4J)を使用するロギング機能が用意されています。ログは、Cassandraロギング・ディレクトリーのsystem.logファイルに書き込まれます。ロギングは、プログラムで、あるいは手動で設定できます。手動でロギングを設定するには:
- nodetool setlogginglevelコマンドを実行します。
- Cassandraと一緒にインストールされている、logback-test.xmlファイルまたはlogback.xmlファイルを設定します。
- JConsoleツールを使用して、JMXからロギングを設定します。
ログバックは最初にlogback-test.xmlを探し、次にlogback.xmlファイルを探します。
logback.xmlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール | /etc/cassandra/logback.xml |
tarボール・インストール | install_location/conf/logback.xml |
Windowsインストール | C:\Program Files\DataStax Community\apache-cassandra\conf\logback.xml |
XML構成ファイルは以下のようになります。
<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番目のアペンダーは、ログをコンソールに転送します。以下のロギング機能を変更できます。
- ローリング・ポリシー
- ログをアーカイブにローリングするためのポリシー
- ログ・ファイルの場所と名前
- アーカイブの場所と名前
- ローリングをトリガーする最小ファイル・サイズと最大ファイル・サイズ
- メッセージの形式
- ログ・レベル
ログ・レベル
ログ・レベル設定の有効値には、すべてのレベルの情報をロギングする「ALL」、「TRACE」から「ERROR」まで、さらにロギングなしの「OFF」があります。TRACEで最も冗長なログが作成され、ERRORで最も低いレベルのログが作成されます。
- ALL
- TRACE
- DEBUG
- INFO(デフォルト)
- WARN
- ERROR
- OFF
注: ロギング・レベルを上げると、トラフィックの少ないクラスターでも、大量のログ出力が生成されることがあります。
nodetool getlogginglevelsコマンドを使用して、現在のロギング構成を確認できます。
$ nodetool getlogginglevels
Logger Name Log Level
ROOT INFO
com.thinkaurelius.thrift ERROR
log4jからログバックへの移行
log4jを使用していた前のバージョンのCassandraからアップグレードしている場合は、ログバックPropertiesTranslatorWebアプリケーションを使用してlog4j.propertiesファイルをlogback.xmlに変換することができます。
ログ・ファイル・ローテーションの使用
デフォルトのポリシーでは、サイズが20MBを超えると、system.logファイルをローリングします。アーカイブはzip形式で圧縮されます。ログバックは、ログ・ファイルにsystem.log.1.zip、system.log.2.zipなどの名前を付けます。詳細については、ログバックのドキュメントを参照してください。