Java 风暴日志文件/文件目录:在哪里?
我想更改storm的日志文件目录和我自己的日志 我正在使用localcluster,我已经编写了简单的代码并从ide(IntelliJ)运行了它,它运行正常,还显示了日志 我已决定将slf4j用于我自己的日志,并且我已经看到storm在内部使用此依赖关系:Java 风暴日志文件/文件目录:在哪里?,java,log4j,slf4j,apache-storm,Java,Log4j,Slf4j,Apache Storm,我想更改storm的日志文件目录和我自己的日志 我正在使用localcluster,我已经编写了简单的代码并从ide(IntelliJ)运行了它,它运行正常,还显示了日志 我已决定将slf4j用于我自己的日志,并且我已经看到storm在内部使用此依赖关系: <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.8.2</version>
<scope>compile</scope>
</dependency>
以下是图片,可能会有所帮助:
从外观上看,您的类路径中可能有另一个log4j.properties文件,而不是这个文件。有时它可以包含在jar文件中
一个可能的解决方案是排除storm的日志依赖性,并提供您自己的日志依赖性和log4j.properties是的,我想是这样的。当我排除时,它可以工作,但我想在不排除的情况下将这个log4j.properties重写为我的log4j.properties。因为当我尝试排除时,遇到了一些错误(log4j版本冲突),请将此添加到supervisor计算机节点的storm.yaml中:worker.childopts:“-Dlog4j.configuration=log4j.properties”,然后我重新启动supervisor,之后它应该开始使用您的log4j而不是storm。如果我在生产模式下工作,我可以尝试,但是我在本地模式下工作,运行ide.storm 0.10.x中的代码,切换到使用log4j2而不是logback,storm只搜索classpath下的log4j2.xml文件。因为它是一个maven项目,所以可以将它放在src/main/resource下并覆盖它
<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>
# 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