Файл журнала шторма / каталог файлов: где он находится? - PullRequest
0 голосов
/ 29 августа 2018

Я хочу изменить каталог файлов журнала для шторма и мои собственные журналы

Я работаю над локальным кластером, я написал простой код и запускаю его из ide (IntelliJ), он работает правильно и также показывает журналы.

Я решил использовать slf4j для своих собственных журналов, и я видел, что шторм использует эту зависимость внутренне:

<dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.8.2</version>
      <scope>compile</scope>
 </dependency>

Поэтому я решил использовать slf4j с привязкой log4j.

Вот мои зависимости: (Где версия slf4j 1.7.25)

<dependencies>
        <dependency>
            <groupId>org.apache.storm</groupId>
            <artifactId>storm-core</artifactId>
            <version>1.2.2</version>
            <scope>compiled</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
</dependencies>

Вот мои log4j.properties (я создал этот файл под ресурсами)

Обратите внимание: я также попытался указать полный путь к файлу вместо ссылки. Не работает

# Root logger option
  log4j.rootLogger=info, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy:MM:dd         
HH:mm:ss.SSS} [%thread] %-5p %c %m%n

# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=Log4jFiles/lcf4j.log
log4j.appender.file.MaxFileSize=100MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy:MM:dd HH:mm:ss.SSS} [%thread] %-5p %c %m%n

Вот изображение, может помочь: фотография

1 Ответ

0 голосов
/ 30 августа 2018

Судя по всему, у вас, вероятно, есть другой файл log4j.properties где-то в вашем пути к классам, который используется вместо этого. Иногда его можно включить в файлы jar.

Одним из возможных решений было бы исключение зависимости шторма от журналирования и предоставление собственных зависимостей журналирования и log4j.properties

...