gpt4 book ai didi

java - log4j2 2.13版本中扩展RollingFileAppender的几个方法

转载 作者:行者123 更新时间:2023-11-30 05:21:54 30 4
gpt4 key购买 nike

我们有一个使用自定义 RollingFileAppender 的庞大应用程序(从 log4j 1.x 中的 org.apache.log4j.RollingFileAppender 扩展)。我们重写了一些方法,但两个主要方法是 rollOver() 和 subAppend(),如下所示:

    public void rollOver()
{
// Custom Code to specify how rolled-over files should be numbered and which file should be
// overwritten when MaxBackupIndex is reached
}

public void subAppend(LoggingEvent event)
{
// Custom Code to encrypt message before writing it
String data = this.layout.format(event);
if (isEncryptionOn())
{
data = PlatformEncryptDecrypt.encrypt2Way(data);
data = toUnicodeHexString(data);
}
this.qw.write(data);
.
.
.
// Other code taken from parent class
.
.
.
}

在将其迁移到 log4j2 时,我想尽可能地利用 log4j2 的 RollingFileAppender,同时仅覆盖选定的方法。由于 RollingFileAppender 是最终类,我更喜欢使用构建器来创建自定义附加程序。我浏览了一些其他类似的帖子,但他们正在谈论使用 RollingFileAppender 记录一些额外的属性。

使用当前最新版本的 log4j2(即 2.13)实现此目的的最佳方法是什么?非常感谢任何帮助。

最佳答案

如果您只想加密数据,则不要覆盖 RollingFileAppender。相反,实现您自己的布局。事实上,如果您想根据您的要求创建 Jira 问题,我愿意添加一个封装另一个布局的 EncryptingLayout。

同时,只需创建一个接受另一个布局作为配置属性的布局。然后布局中的方法调用该布局的相应方法,然后加密结果。

关于java - log4j2 2.13版本中扩展RollingFileAppender的几个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59425498/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com