Java log4j2未检测到自定义appender插件
我正在尝试为log4j2.0创建一个自定义appender,但是在获取log4j配置以识别appender时遇到问题。我知道log4j 2.0不支持配置属性中的包。因此,正如建议的那样,我尝试使用纯javac运行代码,但即使这样,它也会出现以下错误:Java log4j2未检测到自定义appender插件,java,log4j2,appender,Java,Log4j2,Appender,我正在尝试为log4j2.0创建一个自定义appender,但是在获取log4j配置以识别appender时遇到问题。我知道log4j 2.0不支持配置属性中的包。因此,正如建议的那样,我尝试使用纯javac运行代码,但即使这样,它也会出现以下错误:2015-03-11 18:47:35281错误处理元素测试:未找到类 2015-03-11 18:47:35307错误无法找到记录器的追加器测试1 这是我的自定义附件: @Plugin(name = "Test", category = "Core
2015-03-11 18:47:35281错误处理元素测试:未找到类
2015-03-11 18:47:35307错误无法找到记录器的追加器测试1
这是我的自定义附件:
@Plugin(name = "Test", category = "Core", elementType = "appender", printObject = true)
public class TestAppender extends AbstractAppender{
protected TestAppender(String name, Filter filter,
Layout<? extends Serializable> layout, boolean ignoreExceptions) {
super(name, filter, layout, ignoreExceptions);
// TODO Auto-generated constructor stub
}
@PluginFactory
public static TestAppender createAppender(@PluginAttribute("name") String name,
@PluginAttribute("ignoreExceptions") boolean ignoreExceptions,
@PluginElement("Layout") Layout<? extends Serializable> layout,
@PluginElement("Filters") Filter filter) {
return new TestAppender(name, filter, layout, true);
}
public void append(LogEvent event) {
// TODO Auto-generated method stub
System.out.println(event.getMessage());
}
}
@插件(name=“Test”、category=“Core”、elementType=“appender”、printObject=true)
公共类TestAppender扩展了AbstractAppender{
受保护的TestAppender(字符串名称、筛选器、,
查看文档时,maven编译器插件中可能缺少注释处理器配置
org.apache.maven.plugins
maven编译器插件
3.1
log4j插件处理器
编译
进程类
只有
org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
我在Appender之前的log4j2.xml配置中添加了包含自定义Appender的包,它没有错误地获取了自定义Appender
<Configuration packages="com.yourcompany.yourcustomappenderpackage">
我引用了此线程-但是log4j2.0中不支持packages属性。您使用的是beta版本还是发行版?我使用的是log4j-2.2.api,这个答案是正确的。log4j2支持packages属性,我使用它执行触发的滚动策略。
<Configuration packages="com.yourcompany.yourcustomappenderpackage">