我想更改风暴和我自己的日志的日志文件目录
我正在使用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
答案 0 :(得分:0)
从表面上看来,您可能在类路径中的某个位置有另一个log4j.properties文件,而不是使用该文件。有时它可以包含在jar文件中。
一种可能的解决方案是排除Storm的日志依赖项,并提供自己的日志依赖项和log4j.properties