风暴日志文件/文件目录:在哪里?

时间:2018-08-29 14:30:12

标签: java log4j slf4j apache-storm

我想更改风暴和我自己的日志的日志文件目录

我正在使用localcluster,我编写了简单的代码并从ide(IntelliJ)运行它,它可以正确运行,并且还显示日志。

我决定将slf4j用于自己的日志,并且我已经看到Storm内部使用了这种依赖关系:

<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

以下是图片,可能会有所帮助: picture

1 个答案:

答案 0 :(得分:0)

从表面上看来,您可能在类路径中的某个位置有另一个log4j.properties文件,而不是使用该文件。有时它可以包含在jar文件中。

一种可能的解决方案是排除Storm的日志依赖项,并提供自己的日志依赖项和log4j.properties