2015-06-08 6 views
0

Я хочу использовать tranquility и его штурмовой болт для отправки данных на druid. Так что я написал топологию шторма (с зависимостью спокойствия) и скомпилировал его в файл jar, а затем использовал run storm с этим файлом jar в локальном режиме. Тем не менее, я столкнулся с проблемами: шоу штормового выстрела ничего плохого, и узел лорда друида ничего не записывает. Я чувствую, что повелитель не получил данные, отправленные штурмовым болтом.Как настроить спокойствие для отображения журнала отладки

Я хочу найти проблему. Я включить отладку Storm CONFIG в

conf.setDebug(true); 

но просто показать подробную информацию о каждом spout и bolt, он не показывает tranquility «s данные журнала отладки. Я попытался изменить Шторм logback/cluster.xml к

<root level="DEBUG"> 
    <appender-ref ref="A1"/> 
</root> 

Но, похоже, не работает. Я пытаюсь добавить log4j.xml в топ-каталог проекта:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration debug="true" 
    xmlns:log4j='http://jakarta.apache.org/log4j/'> 

    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" 
      value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="console" /> 
    </root> 

</log4j:configuration> 

Это тоже не работает.

я сделать некоторые копаться в исходном коде спокойствия, и увидеть спокойствие зависит от ladylog библиотеки, которая зависит от log4j, так что я думал, что добавление log4j.xml в проекте будет включить режим отладки и может видеть вывод отладочной this BeamBot

Я полностью смущен, потому что теперь я написал банку, в которой используется библиотека tranquiity, которая использует библиотеку loglady, которая использует log4j и мою банку, которые запускаются штормом, которые используют logback. Может ли кто-нибудь дать мне несколько предложений?

ответ

0

затем использовать запуск шторм с этой баночкой файлом в локальном режиме

Так как вы запустите файл фляги в локальном режиме, это не имеет смысла изменять logback/cluster.xml. Как правило, Storm будет считывать конфигурации по умолчанию из определенной зависимости, например storm-core-0.9.4.jar, в локальном режиме, если вы не измените настройки вручную в своей топологии. Вы должны запустить свою топологию в режиме кластера, чтобы попробовать.

С другой стороны, так как существует много противоречивых проблем с log4j, мы используем slf4j в библиотеке по умолчанию для log4j как этого

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class MyBolt { 
    private static final Logger LOG = LoggerFactory 
      .getLogger(MyBolt.class); 
} 

и исключают всю другую log4j LIBS во всех зависимости как этот

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka_2.10</artifactId> 
    <version>0.8.2.1</version> 
    <scope>provided</scope> 
    <exclusions> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

Надеюсь, это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^