2016-07-08 1 views
1

내 요구 사항에 따라 나는 단지 org.slf4j.LoggerFactory.getLogger()에 의해 기록되는 다른 쪽 끝에 http 메시지를 게시하고 싶었습니다.logback appender가 http 메시지로 메시지를 게시합니다.

다음 json 문자열은 INFO level에 기록됩니다.

{

"studentName": "My Name", 
"Deratment": "Computer Science", 
"address": { 
    "Address Line1": "My Address Line1", 
    "Address Line2": "My Address Line2", 
    "Address Line3": "My Address Line3" 
} 

}

고려,

  1. HTTP를 application/json

  2. INFO 수준의 모든에만 특정 로그를 처리해야 MIME 유형에 게시한다 메시지 .

로그 아웃에 appender가 있습니까?

그렇지 않은 경우 가장 좋은 방법은 무엇입니까?

답변

1

로그백은 logstash : https://github.com/logstash/logstash-logback-encoder과 잘 맞습니다.

첫 번째 단계는 logstash 연결을 사용하도록 logback을 구성하는 것입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> 
     <destination>127.0.0.1:4560</destination> 

     <!-- encoder is required --> 
     <encoder class="net.logstash.logback.encoder.LogstashEncoder" /> 
    </appender> 

    <root level="DEBUG"> 
     <appender-ref ref="stash" /> 
    </root> 
</configuration> 

이 완료되면

input { 
    tcp { 
      port => 4560 
      codec => json_lines 
     } 
} 

output { 
    http { 
     http_method => ... 
     url => ... 
    } 
} 

( https://www.elastic.co/guide/en/logstash/current/plugins-outputs-http.html 참조), 다음과 같이 보일 수 있습니다 HTTP 출력 플러그인에 TCP 입력으로부터 파이프 라인을 만들어야합니다
관련 문제