【问题标题】:Create Web Service Appender for Logback为 Logback 创建 Web Service Appender
【发布时间】:2016-12-22 04:27:41
【问题描述】:

我有一个 REST API,我想使用我的 Logback Appender 与之通信。 REST API 本身受 OAuth 保护,因此任何请求都需要附加 OAuth 令牌。是否可以编写一个可以做到这一点的自定义附加程序。我对 Logback 非常陌生,不知道如何编写自定义附加程序。

例如获取token的URL为http://example.com/obtain-token,推送日志的API为http://example.com/addLogs

如果有人能给我一个关于如何处理这个问题的虚拟代码,我将不胜感激

【问题讨论】:

    标签: java spring rest logback appender


    【解决方案1】:

    Logback 有 server appender 的实现,你可以这样做:

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

    请注意,Logger 和其他一些类位于 ch.qos.logback.classic 包中。你可以查看document关于appender的详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多