Tag: log4j2

Log4j 2不再支持log4j.properties文件了吗?

我正在使用log4j 2.0-rc1和log4j.properties文件运行一个示例,但log4j lib始终使用默认配置(日志级别,appender等)运行它。 我也尝试将名称更改为log4j2.properties并且没有任何反应。

运行由shade插件构建的独立应用程序时找不到Log4j2配置

我有应用程序,当我从maven log4j2运行时它正在工作: mvn exec:java -Dexec.args=… 但是当我将jar作为独立应用程序运行时,它会显示错误: java -jar 日志: ERROR StatusLogger Unrecognized format specifier [d] ERROR StatusLogger Unrecognized conversion specifier [d] starting at position 16 in conversion pattern. ERROR StatusLogger Unrecognized format specifier [thread] ERROR StatusLogger Unrecognized conversion specifier [thread] starting at position 25 in conversion pattern. ERROR StatusLogger Unrecognized format specifier [level] ERROR StatusLogger […]

如何指定Log4J 2.x配置位置?

有没有办法手动指定Log4J 2.x log4j2.xml文件位置(如Log4J 1.x中的DOMConfigurator ),而不会弄乱类路径和系统属性?

Log4j2:如何将日志写入每个用户的单独文件?

这是我面临的挑战: 我有一个servlet程序。 我需要将每个用户的日志写入以该用户命名的文件夹。 像这样的东西: // stores message to David folder // /root_path/David/logfile.log logger.error(MarkerManager.getMarker(“David”), “Error happened”); // stores message to Mark folder // /root_path/Mark/logfile.log logger.error(MarkerManager.getMarker(“Mark”), “Something is broken”); 在我的例子中,我使用了标记。 但我真的不知道标记是否适合这项任务。 一般来说,我的appender应该像RollingRandomAccessFile appender一样。 我想apppen for appender必须看起来像这样: 有任何想法吗?

Log4j2:动态创建多个日志的日志文件

我目前正在创建一个可以拥有模块的系统(将它们视为插件),其中每个模块都可以拥有自己的专用日志。 我想使用log4j2项目进行日志记录,但我似乎在使用文件appender时遇到了一些问题。 主项目(模块加载器和整个事物的“核心”)应该有自己的日志文件,而模块应该有自己的(如mod_XXXXXXXX.log )。 通过阅读有关appender的文档,我发现了FileAppender类,我打算使用它。 直到我发现我不能简单地将appender添加到LogManager.getLog()创建的默认记录器中。 LogManager返回的记录器是与Logger接口不同的记录Logger 。 即使搜索没有给我任何近乎解决方案,我发现只是xml配置中的预定义文件日志 – 这不是我想要的。 谢谢你的阅读; 即使是最轻微的线索也欢迎:)

如何使用log4j2(MDC in xml)在不同文件中写入不同的日志?

现在我正在使用这样的结构:Appender: 记录仪: 但它不适用于MDC密钥。 我如何在xml中使用MDC密钥来配置RollingFileAppender?

如何使用Log4j2登录关闭钩子?

Log4j2还使用关闭挂钩来结束它的服务。 但是我当然希望在我的应用程序的整个生命周期中记录 – 包括关闭。 使用Log4j这没问题。 现在似乎不可能。 记录关闭,而我的应用程序仍在处理它。 有人对我有什么希望吗? 最好的问候马丁

如何自定义log4j2 RollingFileAppender?

我们使用log4j 1.2.x登录我们的产品,并希望在不久的将来迁移到log4j 2.x. 我们实现的function之一是在生成的每个新的翻转日志文件上记录系统信息和其他重要参数。 我们在log4j 1.2.x中实现的方式是我们扩展了RollingFileAppender类的log4j并覆盖了rollOver()方法,下面是实现的部分片段 @Override public void rollOver() { super.rollOver(); //We are not modifying it’s default functionality but as soon as rollOver happens we apply our logic // // Logic to log required system properties and important parameters. // } 现在我们想要迁移到log4j2,我们正在寻找一种新的解决方案来实现相同的function。 但是当我看到log4j2的源代码时,它与旧的源代码非常不同。 RollingFileAppender类不包含rollover()方法,因为它已被移动到RollingManagerhelper并且它已被设置为private 。 开发一个完整的新包并从log4j2扩展/实现一些抽象/辅助类是我们可能的解决方案之一,但这需要大量编码/复制,因为我们不修改RollingFileAppender所做的事情,而只需要对它进行小的扩展。 有一个简单的解决方案吗? UPDATE 我根据答案中的建议创建了自定义查找,下面是我创建它的方式; @Plugin(name = “property”, category = […]