2016-12-22 54 views
0

我有一個REST API,我想用我的Logback Appender進行通信。 REST API本身由OAuth保護,因此任何請求都需要使用OAuth令牌附加。是否有可能寫一個可以做到這一點的自定義appender。我對Logback非常陌生,不知道如何編寫自定義的appender。爲Logback創建Web服務Appender

例如,URL獲得令牌http://example.com/obtain-token和推動日誌的API是http://example.com/addLogs

我會很感激,如果有人可以給我如何去了解這個

回答

0

的logback有一個虛設碼服務器附加器的實現,你可以做這樣的:

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); 

請注意,記錄儀和其他一些類在ch.qos.logback.classic包。您可以詳細查看document關於appender的信息。