2016-04-29 6 views
2

私はubuntuサーバーでdatastax cassandra 2.2.5を使用しています。 ロギング設定は "/etc/cassandra/logback.xml"ファイル内にあるようです。このxmlでは、ログファイルの保存先フォルダは"$ {cassandra.logdir}"プロパティで設定されます。私はカスタムのフォルダの場所を与えることができるように、このプロパティを設定/変更する必要がありますか?自分のログをデフォルトの場所「/ var/log/cassandra」に移動させたいのではありません。Datastax Cassandra 2.2.5:ロギングの場所を変更する(ログバック)

このように私のフォルダ。私も 「JVM_OPTSは=」$ JVM_OPTS -Dcassandra.logdir = /データ/「 を記録し、cassandra-env.shを更新しようとした。しかし、今別のフォルダに設定する2つのシステムがあります場所は、デフォルトのフォルダを上書きされていない おかげ jaskaran

答えて

2

[OK]をlogbackのドキュメントを読んだ後:。http://logback.qos.ch/manual/configuration.html#variableSubstitution

それは、logback.xml内の変数が異なるスコープに対して解決されていると言う、この中かDER:

  • ローカルスコープ
  • コンテキストのスコープ
  • システムスコープ

我々の場合には、それはだ使用されているシステムスコープです。

cassandra.logdir/usr/sbin/cassandra実行ファイル自体の内部で設定されている:あなたが見ることができるように、storagedir変数は、(ファイル/usr/share/cassandra/cassandra.in.shで)ユーザが定義することができますが、それはそう

launch_service() 
{ 
    pidpath="$1" 
    foreground="$2" 
    props="$3" 
    class="$4" 
    cassandra_parms="-Dlogback.configurationFile=logback.xml" 
    cassandra_parms="$cassandra_parms -Dcassandra.logdir=/var/log/cassandra" 
    cassandra_parms="$cassandra_parms -Dcassandra.storagedir=$cassandra_storagedir" 
... 
... 

そのcassandra.logdirはハードコードされています。

ちょうどので、あなたが

+0

はあなたに非常に多くのdoanduyhaiありがとうカサンドラexecを修正するよりも少ないinstrusiveある/usr/share/cassandra/cassandra.in.shでそれを定義したことができますが、それを変更したり、変数$cassandra.logdirを追加します。これは "/ usr/sbin/cassandra" execファイルを直接更新することによって動作します。しかし、それほど邪魔にならないアプローチでは動作しないようです。 "変数$ cassandra.logdirを追加して、/usr/share/cassandra/cassandra.in.shに定義することができます。これは、 – karan1001

関連する問題