问题标签 [log4j2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2344 浏览

java - Java 包 Log4J2:MapFilters

我有一个关于 MapFilters 的简单问题。好吧,我知道什么是映射:简单的键值对。现在 log4j 允许通过(来自网站的示例)过滤所谓的地图消息:

但是我在代码中的哪里定义这些消息。我试过这样的:

但这不是处理这个问题的一种方便的方法,顺便说一句:它不起作用。

你知道这个话题更详细的介绍吗?API在这里并没有真正帮助我。

谢谢大家!

0 投票
1 回答
1550 浏览

java - Jetty 服务器上的 Log4j2 和 Flume

我正在尝试使用 Log4J2 和 Flume-ng 对分布式系统进行集中式日志记录。系统中的其中一台服务器运行 Jetty,我用它来为系统执行 Web 服务(servlet)。当我在这个项目中包含 Log4J2 和 Flume-ng 的 Maven 依赖项时,它会破坏 Jetty 并且它不会正确启动/绑定。如果我删除下面列表中的依赖项(log4j-flume-ng),那么 Jetty 将正常运行,给我以下输出:

但是有了这种依赖关系,它就会出现(只是 Memcached 输出):

Maven POM中的依赖如下:

我不知道如何开始解决这个问题。我已经设法让 Flume 与我的其他服务器一起工作没有问题,但似乎 Jetty 不会有它。有人可以提供任何建议以使其正常工作吗?

0 投票
1 回答
2079 浏览

java - Log4j_2 和 Socket UDP 附加程序

我正在尝试创建一个简单的 UDP 服务器来处理来自 Log4j2 Socket appender 的包,但是我从收到的第二个包中得到了“java.io.StreamCorruptedException:无效流标头:7372003E”。

附加器:

片段 UDP 服务器:

有什么建议吗?

0 投票
2 回答
232 浏览

java - 使用 log4J-2.0-beta 时的 NPE

我正在通过概述文档检查 log4j2,并且在尝试设置 log4j2 记录器时遇到以下异常:

我的测试程序取自概述站点:

我将所有提供的 jar 文件从二进制分发中添加到我的构建路径中。

我错过了什么?

0 投票
5 回答
45082 浏览

java - Log4j2 - 配置

我试图在我的新项目中采用 Log4j2,但我登录了catalina.out,第一个总是:ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger。似乎我已经根据 Log4j2 文档完成了所有工作,但仍然如此。

这是我实际所做的:

  1. 添加log4j-api-2.0-beta3.jar到我的项目中
  2. 创建了一个log4j2.xml文件并将其放在类路径上的位置(当前,在/usr/local/tomcat/home/lib. 事实上,我从 Log4J2 网页中获取了一个示例文件。
  3. 重新启动tomcat。

我正在使用 Tomcat 7、MacOS X 10.8、Java 7。

我错过了什么?

以防万一,这是我正在使用的 log4j2.xml:

p>

0 投票
1 回答
32935 浏览

xml - log4j2 - 限制日志文件的数量

我有以下 log4j2.xml 文件:

我怎样才能修改这个配置,这样

  1. 在达到 5mb 限制后,会创建一个新文件,而不是一遍又一遍地覆盖相同的日志文件。最好有像 test1.log、test2.log 等等。
  2. 如何限制在 1. 中创建的部分日志文件的数量?我想要实现的是如下方案:

    /li>

有谁知道,如何实现这样的目标?当然,如果仅使用 log4j2 就可以实现类似的功能,那就太好了。但是也许有一种方法可以将 log4j2 与某种外部程序结合起来,该程序将与主 Java 应用程序一起运行并删除多余的日志文件,同时保持最后两个日志文件完好无损。因此,如果有人至少对 1. 提出建议,那可能已经是我正在寻找的东西了。因为我也许可以为第二部分编写程序。当然,如果第二部分也可以使用 log4j2 完成,那将是非常棒的。

0 投票
1 回答
6755 浏览

java - Log4j2 保存文件(使用 RollingFile appender)

我正在尝试 log4j2 为我正在开发的系统创建日志文件,我已按照他们网站上的说明进行操作,运行它时没有发生错误,但日志没有保存在我设置的位置(例如。“ D:\logs\app.log")。

这是我的 log4j.xml

我试过了 :

  • 删除 app.log 以查看我的配置 (D:\logs\app.log) 是否有效。当我运行应用程序时,它会创建 app.log,所以我认为这意味着它可以看到配置,唯一的事情是它没有保存我在 java 应用程序中所做的 log.info
  • 将根级别更改为“TRACE”,它会打印 log.info。

[编辑:]

我的类路径中也有这些库

  • log4j-api-2.0-beta3.jar
  • log4j-core-2.0-beta3.jar

Am I missing something on RollingFile configuration or a library (maybe)?

Thanks in advance.

0 投票
1 回答
5844 浏览

java - Tomcat中的Log4j2

我正在使用 Tomcat 6 并尝试将 JUL 切换到 Log4j2 (2.0 beta 3)。但是,由于它是一个相当新的项目,文档非常稀少,在线资源还不是很多。

我想要的是

  1. 调试级别以上的所有事件都应转到磁盘上的文件。
  2. 错误应该去syserr
  3. 从信息到警告的所有内容都应该转到sysout.
  4. 标记的审计日志应该跳过所有这些并转到磁盘上的不同文件。

我试过的

这是我的第一次尝试log4j2.xml文件:

我应该写configuration status什么?关于它的一些文档在哪里?

记录器名称与 Java 类及其记录器有何关系?

示例代码:

当我运行它时,我在控制台和日志文件中得到它:

为什么忽略警告?

如果我删除additivity="false",我得到:

再次忽略警告并重复错误(如预期的那样)。

我究竟做错了什么?


在折叠下:Tomcat 的其余部分可以使用 JULI,我只想要 Log4j2 用于我的应用程序。

0 投票
1 回答
1818 浏览

matlab - 您如何在 Matlab 中使用 Log4j2

我正在尝试在 Matlab 应用程序中从 log4j 1.2 切换到 log4j 2。

我已将 log4j-core-2.0-beta3.jar 和 log4j-api-2.0-beta3.jar 添加到我的 Matlab java 类路径中。

在我的 Matlab 类构造函数中,我:

但是当我检查 Logger 对象时,我看到:

我没有定义配置文件,我希望 log4j 给我默认配置并登录到控制台(根据 log4j2 文档)

难道我做错了什么?

在 Matlab 中使用 log4j2 有问题吗?

编辑:我相信这与 Matlab 中 log4j 的内置用法有关,用于 Matlab 自己的内部日志记录。我设法解决了与 logback 类似的问题,因为 logback 抱怨 Matlab 使用 log4j。classpath.txt 文件可能可以用来解决这个问题,即从 classpath.txt 中删除 log4j 但这可能会破坏 Matlab 的内部日志记录。我通过切换到不同的日志记录工具来解决这个问题。

0 投票
4 回答
28783 浏览

java - 在 Log4j2 中,如何将 XML Schema 与 log4j2.xml 关联?

我一直在尝试新的 Log4j2。从关于 migration的文档看来,XML Schema/DTD 规范已经被取消了。

这似乎是倒退了一步。当然,应该可以将 XML Schema 或 DTD 与 my 关联log4j2.xml以帮助编写它并进行验证。我无法在文档中找到任何有用的东西,也没有找到 XML Schema 或 DTD 本身。

所以:在 Log4j2 中,我应该如何将 XML Schema 与log4j2.xml