当前位置: 首页 > 面试题库 >

使用单个log4j2 xml文件配置log4j2和log4j

桂学
2023-03-14
问题内容

我已将应用程序迁移到log4j 2,并通过log4j2.xml对其进行了配置

但是,我正在使用的某些库取决于log4j1。如果我使用以下命令运行该应用程序:

-Dlog4j.configurationFile=path/to/log4j2.xml

log4j 1抱怨找不到配置文件。我正在使用log4j 2,log4j-1.2-api-2.0-rc1.jar提供的log4j
1.x桥。是否可以使用单个log4j2.xml进行配置?

我尝试过的替代方法是同时配置log4j和log4j2:

-Dlog4j.configurationFile=path/to/log4j2.xml -Dlog4j.configuration=path/to/log4j.xml

我担心的是我的日志记录配置文件和输出的碎片。我还担心log4j.xml和log4j2.xml之间可能的冲突。例如,日志文件error.log配置为在log4j
1中使用FileAppender,在log4j 2中使用RollingFileAppender。

有什么建议吗?

[注意]

这是我看到的错误:

log4j:WARN No appenders could be found for logger (org.apache.activemq.util.ThreadPoolUtils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

我正在使用的log4j 2版本是log4j 2.0 rc1。

[回答]

好像activemq-5.8.0.jar与log4j 1捆绑在一起。解决方案是简单地在activemq之前加载log4j 1.x网桥。


问题答案:

我建议使用log4j2分发中包含的log4j-1.2适配器。这样,任何编码为log4j-1.2
API的库都可以与log4j2一起使用,而无需进行任何代码更改。

您的类路径应包括:

  • log4j-api-2.6.1.jar
  • log4j-core-2.6.1.jar
  • log4j-1.2-api-2.6.1.jar
  • log4j2.xml

你的类路径应该 包括:

  • log4j-1.2.x.jar
  • log4j.properties或log4j.xml(无论如何,log4j2将忽略这些内容)

另请参见http://logging.apache.org/log4j/2.x/faq.html#which_jars



 类似资料:
  • 我已经将应用程序迁移到Log4J2,并通过log4j2.xml对其进行了配置 但是,我使用的一些库依赖于log4j1。如果我使用以下方式运行应用程序: 我尝试的另一种方法是将log4j和log4j2配置在一起: 我担心的是日志配置文件和输出的碎片化。我还担心log4j.xml和log4j2.xml之间可能存在的冲突。例如,logfile Error.log被配置为使用log4j1中的FileApp

  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式:

  • 最近,我决定学习如何使用log4j2记录器。我下载了所需的jar文件,创建了库,xml编译文件,并尝试使用它。不幸的是,我在console(Eclipse)中得到了这样的语句: 这是我的测试类代码: 和我的xml配置文件: 我还尝试使用不带标记的xml,以及包规范和各种文件夹/包目录,但没有帮助。现在我的文件直接位于Eclipse的project文件夹中。

  • 问题内容: 似乎log4j试图通过XML解析器解析.json配置文件,但是为什么呢? 我通过命令行参数设置log4j配置文件: 文件内容: 我得到的是: 我的lib文件夹中的Jar: hamcrest-junit-2.0.0.0.jar jackson-annotations-2.6.1.jar Jackson core-2.6.1.jar jackson-databind-2.6.1.jar j

  • Usng maven和Springboot。我希望每个环境(dev、cert)使用不同的文件配置(log4j2.xml、application.properties)。我在pom上创建了两个配置文件。xml文件,我还有两个文件夹,分别放在src/main/resources中,每个文件夹都有文件配置(dev和cert)。我想根据我使用的配置文件包括这些文件。我在目录中有其他文件,所以我不想使用这种