Кассандра не получает файл log4j-server.properties

Я запускаю экземпляр Cassandra со своим собственным сценарием запуска, который устанавливает каталог CASSANDRA_CONF (который находится за пределами каталога CASSANDRA_HOME).

export CASSANDRA_CONF=/path/to/conf
cassandra -f -Dcassandra.config=file://path/to/yaml

Когда процесс начался, я заметил, что журналы не учитывают мой файл log4j-server.properties. После дальнейшего изучения кажется, что файл log4j-server.properties не загружается, хотя ссылка на него появляется в аргументах командной строки, сгенерированных Cassandra:

-Dlog4j.configuration=log4j-server.properties

В скрипте я вывожу содержимое файла log4j-server.properties, чтобы убедиться, что он хотя бы читал из нужного места и был. Есть ли какой-то параметр конфигурации, который мне не хватает, который заставляет Cassandra читать из файла log4j-server.properties?


person Brandon    schedule 31.01.2014    source источник
comment
В вашем system.log вы видите строку, в которой говорится, что ведение журнала инициализировано?   -  person Arya    schedule 04.02.2014


Ответы (1)


Какую версию вы используете? Если вы используете 2.1+ (которая в настоящее время не является стабильной сборкой), произошел переход с log4j на logback, и ваши старые файлы конфигурации больше ни на что не повлияют.

Logback настраивается через xml-файлы, и вам нужно использовать аргумент -Dlogback.configurationFile=logback.xml.

Подробнее о переключателе здесь.

Вот пример конфигурации, которая в настоящее время проверена.

<configuration scan="true">

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/var/log/cassandra/system.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>/var/log/cassandra/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>
person Daniel S.    schedule 14.02.2014