java - 如何将 log4j 配置设置为项目的依赖项?

标签 java logging log4j log4j2

我在项目中使用 log4j2-Dlog4j.configurationFile=src/main/resources/log4j2.xml
我的应用程序记录器以配置文件指定的格式写入日志。

我还有其他依赖项(sparkjavahazelcastmongodbsql2o 等)也编写日志,但格式不同。我希望这些记录器使用我的 log4j 配置文件。

我该怎么做?

编辑:

我的log4j2.xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

据我了解,每条日志消息都应该与 root 记录器相关,因此根据我的 log4j2.xml 配置文件进行格式化。

最佳答案

添加 log4j 2 jar 和其他日志记录 API 的适配器:

  1. log4j-api(始终)
  2. log4j-core(始终)
  3. log4j-1.2-api
  4. log4j-jcl
  5. log4j-slf4j-impl(请勿添加 log4j-to-slf4j)

删除其他日志记录实现:

  1. log4j-1.2.x
  2. logback-核心-*
  3. logback-经典-*

保留外墙:

  1. commons-logging-*
  2. slf4j-api-*

关于java - 如何将 log4j 配置设置为项目的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38506935/

相关文章:

java - java.util.logging 配置属性文件中的 log4j.appender.console.target 等效项

java - 二维数组java中的最小值和最大值

java - 考虑在您的配置中定义类型为 'com.gisapp.gisapp.dao.IUserDAO' 的 bean

php - 无法使用 PHP 在 Linux 中写入日志文件

spring-boot - Kotlin 使用 slf4j 进行日志记录的最佳方式

java - 为什么 log4j 在(多次)重复相同异常后禁用堆栈跟踪?

java - 玩家向左上角移动

java - java中的简单类问题

java - 使用 log4j2 在 log.txt 文件中忽略 "\n"换行符

java - log4j - 日志旋转未清除旋转器日志