未检测到java插件怎么设置_包属性未检测到Log4j2(2.1)自定义插件

小编典典

有两种方法可以使log4j2找到您的自定义插件:通过程序包配置属性和通过javac生成的插件dat文件。

选项1:packages属性

在log4j2的旧版本中,packages属性不再起作用,但是在2.0.1中已修复。这不再是一个问题。

要使用此选项,请将插件类的包名称放在packages属性中。例如,如果您的插件的完全合格的类名称为com.mycompany.myproduct.MyPlugin,则使用以下命令启动log4j2.xml配置文件

...

该status="trace"属性将显示控制台上显示的内部log4j2调试语句。这可能有助于解决任何问题,例如,如果找不到您的插件。

选项2:插件dat文件

如果使用类路径中的log4j-corejar进行编译,则javac将生成一个log4j2插件dat文件。Maven会自动将其包含在jar中,但是如果您不使用maven,则可以将该文件手动添加到jar中。同样,如有必要,请使用status

=“ trace”进行故障排除。

组态

完成以上任一操作后,log4j2可以找到您的插件。下一步是正确配置您的插件。这可能是导致问题的原因。

假设您的插件是自定义查找,如下所示:

package com.mycompany.myproduct;

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

public class BetterLookup extends AbstractLookup {

@Override

public String lookup(final LogEvent event, final String key) {

return com.mycompany.SomeClass.getValue(key);

}

}

现在,您声明了插件的名称FabLookup,因此这是您需要在配置中使用的名称。不是类名(尽管它们可以相同)。

使用您的插件的示例配置如下所示:

...

filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}.log.gz">

%d %m%n

...

如果以上方法不足以解决问题,请发布更多详细信息,例如如何在Java代码中声明插件以及如何在log4j2.xml中配置插件。

2020-09-28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值