问题标签 [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.
java - log4j2 - Syslog 附加程序和 PatternLayout
我需要将事件记录到系统日志中。我使用 lo4j2 和 syslog appender。我的 appenders 阻塞log4j2.xml
看起来像这样:
如您所见,我有一个带有特定 PatternLayout 的 Console appender 和 RollingFile appender。我想为 Syslog appender 使用相同的 PatternLayout。但是,syslog 中的日志消息似乎总是使用预定义的布局。我尝试执行以下操作:
但这没有任何效果。系统日志消息仍然具有相同的预定义格式。
如何确定进入 syslog 的日志消息的格式?
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
mongodb - 无法在 Log4j2 中使用 NoSQLAppender 序列化日志消息
你们能演示一下如何在 MongoDB 的 Log4j2 (2.0-beta8) 中使用 NoSQLAppender 吗?
我正在使用 Scala(尽管我认为它不相关)。
我拥有的 Java Mongo DB 驱动程序是 2.11.2
Appender 抛出以下异常
log4j - 使用 NoSQLAppender 时,“由于结果无效 [0] 导致错误无法将日志事件写入 MongoDB”
我收到以下消息
将 NoSQLAppender 与 log4j2 v2.0-beta8 一起使用时
尽管出现错误,日志事件仍被写入 MongoDB。你知道如何压制它吗?
这是我的配置
更奇怪的是我找不到生成它的代码。我在 log4j2 的源代码中没有找到这样的字符串。
file - 最大文件大小 - 在 log4j FileAppender 中支持
我需要将审计信息存储在TEXT 文件中。我计划使用Apache Log4j
.
似乎是可靠的选择。但是,即使文件大小达到 3GB,我也应该能够写入审计信息。
是否log4j
支持 fileSize 即使在GigaBytes
?
或者有一个快速问题,什么是MaximumFileSize
可以支持的Log4j
。
注意: 我不能使用 RollingFileAppender 或 DailyFileAppender,我需要将信息仅记录在一个文本文件中,其中一些其他组件正在读取此文件内容并执行一些过程。
logging - 避免出现 log4j2 配置调试消息
我第一次尝试使用 log4j2。它根据我的配置进行日志记录,除了它还将配置调试消息输出到控制台:
我的配置文件 preprocessor.log4j2.xml 看起来像:
这就是我在java中配置(我知道自动配置)log4j2的方式:
我尝试添加 EventLogger 记录器并禁用其输出,但没有帮助。您知道如何避免出现此配置调试消息吗?
提前感谢您的任何提示。
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.
spring - 将不同的记录器(附加器)分配给不同的 Apache Camel 路由?
我想知道 Apache Camel 中是否已经实现了任何方式来根据路由记录到不同的记录器。我正在使用 Spring DSL 创建路由。我的用例是我想要为我定义的每条路线使用不同的日志文件。
那可能吗?
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 参数),但是我没有知道那个通配符是哪个值。
任何帮助表示赞赏,也许我是从错误的道路上解决这个问题的。我一直在阅读有关过滤器的信息,但似乎没有按我的意愿工作。
谢谢!
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()。这意味着默认过滤器/级别有问题吗?