log4j2相关内容

为什么Log4j认为我的项目在Servlet环境中运行

我有一个简单的Java项目(Maven).这将构建一个jar,然后在其上执行main方法.但是,当我在项目上运行 mvn clean test 时,我从log4j看到一条日志行, INFO Log4j似乎正在Servlet环境中运行,但是没有可用的log4j-web模块.如果需要更好的Web容器支持,请将log4j-web JAR添加到Web归档文件或服务器lib目录中. log4j2.x ..
发布时间:2021-05-30 20:14:17 Java开发

如何从日志消息log4j中删除或替换换行符

我正在使用下面的转换模式 log4j.appender.file.layout.ConversionPattern =%d {yyyy-MM-dd HH:mm:ss.SSS Z} [%t]%-5p%c-%m%n 但是我想删除换行符. 我尝试使用%replace(%ex){'[\ r \ n] +','\\ n'}%nopex%n 但是它不起作用%replace不起作用.它只会读 ..
发布时间:2021-05-30 20:13:48 其他开发

如何在log4j2中为自定义记录器编写单元测试

我创建了一些自定义记录器,它们的某些级别可以覆盖Log4J2中的自定义记录器.我在 http://logging.apache.org/上遵循了该指南.log4j/2.x/manual/customloglevels.html . 我需要创建一些单元测试,以验证事件是否已按照其正确的自定义级别和配置进行注册. 我很感谢有关如何开始的任何提示.非常感谢. 解决方案 我建议看一下l ..
发布时间:2021-05-30 20:13:41 Java开发

Log4j 2.如何获取log4j的调试消息?

据我了解,log4j可以处理系统属性-Dlog4j.debug.如果使用它运行应用程序,则将获得log4j的调试输出. 示例:java -Dlog4j.debug -jar test.jar log4j 2是否有类似的东西? 解决方案 2018年1月更新: 从Log4j 2.10开始,这很容易:只需使用系统属性 log4j2.debug (无需任何值;可以使用空字符串)运 ..
发布时间:2021-05-30 20:13:31 Java开发

带有log4j 2.8.1的slf4j-log4j桥

我正在努力删除对log4j 1.x版本的所有依赖,因为它们已经停产.我的代码使用slf4j-log4j12桥.在 slf4j-log4j 的 Maven 中央编译依赖项中,log4j 的版本为 1.2.17,更新列显示为 2.8.1. 因此,我尝试在build.gradle中执行以下操作,希望使用log4j-api-2.8.1代替默认情况下拉出的log4j-1.2.17.但这似乎不起作用.我 ..
发布时间:2021-05-30 20:13:30 其他开发

如何将java.util.logging发送到log4j2?

我正在处理一个使用 NetBeans 平台的项目.在底层,NetBeans使用 java.util.logging 框架. 我想通过将 java.util.logging 绑定到 log4j2 来拦截这些日志调用.这可能吗? 已经问过类似的先前问题,但特定于 log4j 而不是 log4j2 ! 解决方案 我找到了一个解决方案: NetBeans平台以 org.netbe ..
发布时间:2021-05-30 20:13:15 Java开发

log4j2:日期/转换模式不起作用

将log4j 2添加到我的项目中.最初,我没有添加任何配置/属性文件,但收到消息 ERROR StatusLogger找不到log4j2配置文件.使用默认配置:仅将错误记录到控制台.没关系,因为我还是使用默认设置(并且有效). 全部设置完后,我注意到日志msgs时间戳不包含日期.例如: 10:46:24.597 [[STANDBY] ExecuteThread:'6'for queue:'w ..
发布时间:2021-04-29 19:30:48 Java开发

如何在log4j2中产生标题行

在log4j中,有时我们创建第二个记录器,并向其输出CSV数据,作为对应用程序的指标监视.与我们用于调试之类的普通日志相反,该数据易于导入和绘制图形. 在旧的log4j中,我们通过将PatternLayout子类化,覆盖header属性并将其指定为: log4j.logger.servicePerformance = INFO,servicePerformancelog4j.append ..
发布时间:2021-04-24 18:34:22 Java开发

在log4j2中按类别名称过滤

我正在使用log4j2,但我不知道如何按类名进行过滤.我已经尝试过RegexFilter,但它仅过滤文本消息.在旧的log4j中,使用标记“过滤器"就足够了 有人知道现在该怎么做吗? 提前谢谢! 更新: 好,我做到了!我需要定义一个记录器,并在属性“名称"中设置类名称: ..
发布时间:2021-04-24 18:33:03 Java开发

使用log4j2将System.out写入文件

是否可以像在“旧" log4j中一样直接将System.out(OutputStream)写入日志文件? 我只找到log4j的解决方案,而不是log4j2 感谢您的帮助! 解决方案 使用 log4j2-iostreams 模块非常容易.假设我们想将所有消息从 System.out 发送到名称为 system.out 的记录器,日志级别为 INFO : System.setO ..
发布时间:2021-04-24 18:32:00 Java开发

Log42异步记录器在突然关闭应用程序时会如何表现?

对于异步日志记录,尚未写入目标附加程序并且应用程序/系统关闭的日志会发生什么情况?我们会丢失这些日志(因为它们已经在内存中了)还是有办法恢复它们? 我不想丢失任何错误级别的日志记录.所以我的下一个问题是:有没有一种方法可以在日志级别为单个追加程序配置同步和异步日志记录?例如我希望我的文件附加程序在INFO/DEBUG异步的同时同步执行ERROR级别的日志记录吗? 提前谢谢! 解决 ..
发布时间:2021-04-12 18:57:32 Java开发

如何验证log4j2是否通过LMAX干扰器进行异步日志记录?

我正在开发Eclipse RCP应用程序,并竭尽全力让log4j2在该应用程序内工作.一切现在似乎都可以正常工作,作为最后一点,我想制作所有记录器都是异步的. 我设法将LMAX Disruptor放在类路径上,并认为我已经解决了提供以下内容的问题以及 sun.misc .在运行配置中设置VM参数 -DLog4jContextSelector = org.apache.logging.log4 ..
发布时间:2021-04-12 18:51:36 Java开发

Log4j2错误处理

由于我发现了log4j 1.2.x的一些性能问题,因此我尝试迁移到log4j2. 现在,我遇到了找不到解决方案的问题. 我必须将用于log4j 1.2.x的配置文件重写为与v2兼容的配置文件. 当我到达称为"errorHandler"的附加程序内部的属性时,就会发生问题. 在这里,errorHandler出现在我的log4j 1.2.x上下文中: ..
发布时间:2021-02-11 19:05:48 Java开发

Maven组件插件-多版本:true

我的多jar应用程序在Java 11中运行,并显示与Log4j2相关的警告: 警告:不支持sun.reflect.Reflection.getCallerClass.这会影响性能. 它不会崩溃,但是因为操作团队(AppDynamics监视器)已经问过我了,所以我很烦.我读到我需要在清单中使用"Multi-Release:true"条目,但我不知道如何告诉Maven Assembly P ..
发布时间:2021-02-10 18:41:04 Java开发

Log4j2/Slf4j和Java 11

我目前正在尝试使用log4j/slf4j和Java 11构建应用程序,但是我在运行时遇到了这个问题: 2018-12-10 22:09:27,225 main INFO Cannot initialize scripting support because this JRE does not support it. java.lang.NoClassDefFoundError: javax/ ..
发布时间:2021-02-10 18:39:50 Java开发