benutzerdefinierte appender plugin nicht erkannt werden von log4j2

Ich bin versuchen, um eine benutzerdefinierte appender für log4j 2.0, aber ich habe Probleme bekommen meine log4j-Konfiguration zu erkennen, die appender. Ich weiß, log4j 2.0 doesnt support packages-Konfiguration-Attribute. Also habe ich versucht, wie vorgeschlagen,hier, läuft der code mit einfachen javac aber selbst dann gibt es diesen Fehler:2015-03-11 18:47:35,281 ERROR Error processing element Test: CLASS_NOT_FOUND
2015-03-11 18:47:35,307 ERROR Unable to locate appender test1 for logger

Hier ist meine eigene appender:

@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());
}

}

und meine config xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" >
<Appenders>
    <Test name="test1" >
        <PatternLayout pattern="%d %msg%n" />
        <ThresholdFilter level="DEBUG" />
    </Test>
</Appenders>
<Loggers>
    <Root level="DEBUG">
        <AppenderRef ref="test1" />
    </Root>
</Loggers>
</Configuration>

Vielen Dank im Voraus für jeden nützlichen input

InformationsquelleAutor halbs | 2015-03-11
Schreibe einen Kommentar