由于Log4J1.x已经寿终正寝,我想在Log4j2中构建我的appender,但网络上没有足够的资源和示例。此外,能够将它与消息和自定义日志级别结合在一起也是很好的。
private static final Logger logger = LogManager.getLogger();
logger.log(ACCESS_LOG, new AccessLogMessage("DateTime", "User", "IP", "Data"));
...
try {
...
}
catch(ArithmeticException ex) {
logger.log(EXCEPTION, new ExceptionMessage(ex));
}
PS:我的最终目标是将结构化的日志数据转换为json格式,并将其发送到我的REST服务。
已存在写入控制台的附加程序。它被称为ConsoleAppender。如果您希望以某种特殊的方式格式化数据,那么您可以创建一个自定义布局来完成此操作。
Log4j提供了许多布局示例。最常见的用例是扩展AbstractStringLayout并实现toSerializable方法。
类似地,我们如何在log4j2中创建自定义的appender,因为我们没有AppenderSkelton类要扩展,而所有其他appender都扩展AppenderBase类。
我正在尝试在log4j2中编写自己的RewritePolicy。文件指出: 然而,我不知道如何将它注入我的配置文件。我如何使它在运行时工作?
问题内容: 我正在尝试在Log4j2中编写自己的RewritePolicy。该文档指出: RewritePolicy是一个接口,允许实现在将LogEvent传递给Appender之前检查并可能对其进行修改。RewritePolicy声明一个必须执行的名为rewrite的方法。该方法通过LogEvent传递,并且可以返回相同事件或创建一个新事件。 这是我的 java类 : 这是我的 yaml配置 文
问题内容: 背景 我想通过python客户端API将换行格式的JSON插入/添加到表中。 例如: 问题是,一行中的所有字段都是可选的,并且没有针对数据的固定定义模式。 询问 我已经读过我们可以使用支持自动模式检测的联合表。 但是,我正在寻找一种功能,该功能将自动从数据中检测模式,相应地创建表,甚至在数据中出现任何额外的列/键而不是创建新表时甚至调整表模式。 使用python客户端API是否有可能。
我创建了一个自定义追加器,但在运行测试时没有调用它。以下是这些属性的外观: 我的appender被称为WindowsEventLogappender。知道我的档案有什么问题吗?我看到了控制台测试消息,但没有看到来自我的appender的消息。现在我只是在我的自定义追加器中做一个system.out.println来验证它是否被调用。
我在为我的Spring Boot应用程序创建一个自定义附加器方面面临着挑战。将引发以下异常: Spring Boot版本:2.1.7 log4j2.properties: 注意:在删除log4j2.properties中的appender引用时,日志会写入log4j2.properties中提到的路径中的文件。因此,问题在于customappender集成。