java自定义log4j_java – 如何自定义log4j2 RollingFileAppender?

我们使用log4j 1.2.x登录我们的产品,并希望在不久的将来迁移到log4j 2.x.我们实现的功能之一是在生成的每个新的翻转日志文件上记录系统信息和其他重要参数.我们在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,我们正在寻找一种新的解决方案来实现相同的功能.但是当我看到log4j2的源代码时,它与旧的源代码非常不同. RollingFileAppender类不包含rollover()方法,因为它已被移动到RollingManagerhelper并且它已被设置为私有.

开发一个完整的新包并从log4j2扩展/实现一些抽象/辅助类是我们可能的解决方案之一,但这需要大量的编码/复制,因为我们不修改RollingFileAppender所做的事情,而只需要对它进行小的扩展.有一个简单的解决方案吗?

UPDATE

我根据答案中的建议创建了自定义查找,下面是我创建它的方式;

@Plugin(name = "property", category = StrLookup.CATEGORY)

public class CustomLookup extends AbstractLookup {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值