问题标签 [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 投票
5 回答
30940 浏览

java - log4j2 - Syslog 附加程序和 PatternLayout

我需要将事件记录到系统日志中。我使用 lo4j2 和 syslog appender。我的 appenders 阻塞log4j2.xml看起来像这样:

如您所见,我有一个带有特定 PatternLayout 的 Console appender 和 RollingFile appender。我想为 Syslog appender 使用相同的 PatternLayout。但是,syslog 中的日志消息似乎总是使用预定义的布局。我尝试执行以下操作:

但这没有任何效果。系统日志消息仍然具有相同的预定义格式。

如何确定进入 syslog 的日志消息的格式?

0 投票
2 回答
39363 浏览

tomcat - log4j2 为 FileAppender 指定 tomcat 主目录的相对路径

我正在尝试为本地运行的 tomcat 服务器配置 log4j2。我无法将日志传送到与 tomcat 安装相关的位置。

如果我指定一个绝对路径,它就可以工作。如果我使用相对路径,它会输出到System.getProperty("user.dir").

但是,当我尝试使用其中一个${catalina.home}${catalina.base}它不起作用时。如果我在启动时输出这两个系统属性,它们会被定义并指向正确的位置。

还,

  • 雄猫 7.0.26
  • 小服务程序 2.5
  • log4j2.0 测试版 8
  • 我们使用的是 slf4j,后面有 log4j2。
  • 我通过环境变量将所有记录器设置为异步-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

我的感觉是Tomcat在处理log4j2.xml时可能没有完全初始化?任何想法将不胜感激!

这是我的log4j2.xml

来自 catalina.out

0 投票
1 回答
457 浏览

mongodb - 无法在 Log4j2 中使用 NoSQLAppender 序列化日志消息

你们能演示一下如何在 MongoDB 的 Log4j2 (2.0-beta8) 中使用 NoSQLAppender 吗?

我正在使用 Scala(尽管我认为它不相关)。

我拥有的 Java Mongo DB 驱动程序是 2.11.2

Appender 抛出以下异常

0 投票
1 回答
157 浏览

log4j - 使用 NoSQLAppender 时,“由于结果无效 [0] 导致错误无法将日志事件写入 MongoDB”

我收到以下消息

将 NoSQLAppender 与 log4j2 v2.0-beta8 一起使用时

尽管出现错误,日志事件仍被写入 MongoDB。你知道如何压制它吗?

这是我的配置

更奇怪的是我找不到生成它的代码。我在 log4j2 的源代码中没有找到这样的字符串。

0 投票
1 回答
49200 浏览

file - 最大文件大小 - 在 log4j FileAppender 中支持

我需要将审计信息存储在TEXT 文件中。我计划使用Apache Log4j.

似乎是可靠的选择。但是,即使文件大小达到 3GB,我也应该能够写入审计信息。

是否log4j支持 fileSize 即使在GigaBytes

或者有一个快速问题,什么是MaximumFileSize可以支持的Log4j

注意: 我不能使用 RollingFileAppender 或 DailyFileAppender,我需要将信息仅记录在一个文本文件中,其中一些其他组件正在读取此文件内容并执行一些过程。

0 投票
1 回答
3532 浏览

logging - 避免出现 log4j2 配置调试消息

我第一次尝试使用 log4j2。它根据我的配置进行日志记录,除了它还将配置调试消息输出到控制台:

我的配置文件 preprocessor.log4j2.xml 看起来像:

这就是我在java中配置(我知道自动配置)log4j2的方式:

我尝试添加 EventLogger 记录器并禁用其输出,但没有帮助。您知道如何避免出现此配置调试消息吗?

提前感谢您的任何提示。

0 投票
1 回答
114 浏览

java - log4j2 set up issues

For some reason my log4j2 won't write anything lower than error on the screen. I have very basic code:

This only outputs:

16:31:59.883 [main] FATAL TestEN - Test

I don't have a log4j2.xml file set up for this project. I'm so confused... Any help would be great.

0 投票
1 回答
1172 浏览

spring - 将不同的记录器(附加器)分配给不同的 Apache Camel 路由?

我想知道 Apache Camel 中是否已经实现了任何方式来根据路由记录到不同的记录器。我正在使用 Spring DSL 创建路由。我的用例是我想要为我定义的每条路线使用不同的日志文件。

那可能吗?

0 投票
4 回答
7854 浏览

java - Log4j2 的 RoutingAppender 的通配符模式

我正在尝试使用 Log4j2 的新 RoutingAppender 基于 MDC(Log4j2 中的 ThreadContext)路由不同的日志。我想要做的是以下内容:

  • 如果 MDC 映射有 $contextId -> Append to $contextId appender(特定日志)
  • 如果 MDC 没有 $contextId -> Append to main appender (general log)

我想在标签中使用通配符模式来实现这一点,然后使用 for contextId (${ctx:contextId}) 中的 key 参数进行过滤,并对主 appender 使用默认值(没有 key 参数),但是我没有知道那个通配符是哪个值。

任何帮助表示赞赏,也许我是从错误的道路上解决这个问题的。我一直在阅读有关过滤器的信息,但似乎没有按我的意愿工作。

谢谢!

0 投票
1 回答
4101 浏览

java - 非常简单的 Log4j 2.0 示例不起作用

这是一个愚蠢的简单示例,但由于某种原因它不起作用。我一定遗漏了一些明显的东西。

我正在尝试制作一个非常简单的 log4j 2.0 示例程序。我已将这两个 jar 添加到类路径中:

log4j-api-2.0-beta8.jar

log4j-core-2.0-beta8.jar

并使用默认配置完成了最简单的示例:

但是由于某种原因,我得到的只是“测试结束”,无论如何我都找不到Hello World。我找错地方了吗?我的理解是,使用默认配置,它应该打印到控制台,并带有“测试结束”。我已将日志级别更改为信息,仍然相同。我已经尝试将 Logger 功能提取到一个类中,仍然相同。我在 log4j 文档页面上关注本教程:

http://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfiguration

我不明白什么可能是错的。谁能阐明我做错了什么?提前致谢。

更新记录器确实可以使用 logger.error()。这意味着默认过滤器/级别有问题吗?