无法输出到控制台log4j % 2日志

9rbhqvlz  于 2024-01-08  发布在  其他
关注(0)|答案(1)|浏览(195)

我试图在控制台中为我的自动化框架项目获取日志输出。我试图使用不同的设置,依赖项和方法来完成。
我用的是java + maven + selenide。
我为log4j 2添加了这些依赖项

  1. <dependency>
  2. <groupId>org.apache.logging.log4j</groupId>
  3. <artifactId>log4j-core</artifactId>
  4. <version>2.20.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.logging.log4j</groupId>
  8. <artifactId>log4j-api</artifactId>
  9. <version>2.20.0</version>
  10. </dependency>

字符串
我创建了这个log4j2.properties文件:

  1. # configuration syntax
  2. status=error
  3. dest=err
  4. name=PropertiesConfig
  5. # publish console logs
  6. appender.console.type=Console
  7. appender.console.name=STDOUT
  8. appender.console.layout.type=PatternLayout
  9. appender.console.layout.pattern=[%-5level] %d{DEFAULT} %c:%L - %m%n
  10. # capture logs
  11. logger.app.name=base
  12. logger.app.level=debug
  13. logger.app.additivity=false
  14. logger.app.appenderRef.console.ref=STDOUT
  15. # root logger
  16. rootLogger.level=info
  17. rootLogger.appenderRef.stdout.ref=STDOUT


我在BaseTest.class中创建了一个Logger示例

  1. import org.apache.logging.log4j.LogManager;
  2. import org.apache.logging.log4j.Logger;
  3. protected static Logger log = LogManager.getLogger();


现在我试图在控制台中获取日志,通过log.info("some string")测试方法。
但是没有与log4j 2相关的输出,并且控制台中没有与log4j 2相关的错误消息。
可能的原因是什么?

yruzcnhs

yruzcnhs1#

你使用的是什么应用服务器?Wildfly使用JBoss日志记录,而JBoss日志记录又使用slf 4j。你必须提供log4j-slf 4j作为绑定库来使用log4j 2进行日志记录。
尝试添加此依赖项:

  1. <dependency>
  2. <groupId>org.apache.logging.log4j</groupId>
  3. <artifactId>log4j-slf4j-impl</artifactId>
  4. </dependency>

字符串
根据您的实际设置,您还可能需要

  1. <dependency>
  2. <groupId>org.apache.logging.log4j</groupId>
  3. <artifactId>log4j-jcl</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>commons-logging</groupId>
  7. <artifactId>commons-logging</artifactId>
  8. </dependency>

展开查看全部

相关问题