Benutzerdefinierte outputStreamAppender nicht ausgeführt: Logback: Kein Kontext für angegebenJava

Java-Forum
Anonymous
 Benutzerdefinierte outputStreamAppender nicht ausgeführt: Logback: Kein Kontext für angegeben

Post by Anonymous »

Ich möchte benutzerdefinierte Appender auf der Grundlage von OutputStreamAppender schreiben. Ich habe die folgende Klasse < /p>

geschriebenpackage tests;

import java.io.IOException;
import java.io.OutputStream;

import ch.qos.logback.core.OutputStreamAppender;

public class MyAppender extends OutputStreamAppender {
public MyAppender() {

System.out.println("MyAppender created");

setOutputStream(new OutputStream() {

@Override
public void write(int b) throws IOException {
throw new UnsupportedOperationException();
}
});
}
}
< /code>

Dann habe ich den folgenden Läufer geschrieben: < /p>

package tests;

import org.slf4j.LoggerFactory;

import ch.qos.logback.classic.Logger;

public class Runner {

private static final Logger log = (Logger) LoggerFactory.getLogger(Runner.class);

public static void main(String[] args) {

//log.addAppender(new MyAppender());

log.info("Hello world");
}
}
< /code>

Schließlich habe ich den folgenden logback geschrieben.xml < /code>: < /p>





%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} - %msg%n





%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} - %msg%n








< /code>

und erhielt die folgende Ausgabe: < /p>

MyAppender created
LOGBACK: No context given for tests.MyAppender[null]
20:45:29.957 [main] INFO Runner - Hello world
< /code>

Es zeigt an, dass Appender instanziiert ist. Das Fehlen von Ausnahmen bedeutet jedoch, dass es nie genannt wird. null] "< /p>

Was bedeutet es und wie man repariert? < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post