2016-12-22 4 views
0

Ich habe eine REST API, mit der ich mit meinem Logback Appender kommunizieren möchte. Die REST-API selbst ist durch OAuth gesichert, sodass eine Anforderung an das OAuth-Token angehängt werden muss. Ist es möglich, einen benutzerdefinierten Appender zu schreiben, der dies tun kann? Ich bin neu bei Logback und habe keine Ahnung, wie man einen benutzerdefinierten Appender schreibt.Web Service Appender für Logback erstellen

Zum Beispiel kann die URL-Token zu erhalten, ist http://example.com/obtain-token und die API-Protokolle zu schieben ist http://example.com/addLogs

ich wirklich zu schätzen würde, wenn mir jemand einen Dummy-Code, wie geben kann über diese

Antwort

0
gehen

Logback hat die Implementierung von Server appender, können Sie es wie folgt tun:

LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); 
    SocketAppender appender = new SocketAppender(); 
    appender.setName("MyServer"); 
    appender.setContext(context); 
    appender.setRemoteHost("some host"); 
    appender.setPort(82323); 

    appender.start(); 

    // Wrap the appender in an Async appender for performance 
    AsyncAppender asyncAppender = new AsyncAppender(); 
    asyncAppender.setContext(context); 
    asyncAppender.setName("ASYNC_SERVER"); 
    asyncAppender.setQueueSize(500); 
    asyncAppender.addAppender(appender); 
    asyncAppender.start(); 

    context.getLogger("ROOT").addAppender(asyncAppender); 

beachten Sie, dass der Logger und einige andere Klassen in ch.qos.logback.classic Paket sind. Sie können die document über Appender im Detail überprüfen.

Verwandte Themen