사용자 도구

사이트 도구


java:logback:asyncappender

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:logback:asyncappender [2020/07/17 11:00]
kwon37xi
java:logback:asyncappender [2023/12/01 13:19] (현재)
kwon37xi [AsyncAppender]
줄 28: 줄 28:
   * 기본적으로 AsyncAppender는 코드 정보(클래스,메소드,줄번호)를 남기지 않는데, ''includeCallerData=true''를 통해서 가능하다. 물론 성능저하가 발생할 것이다.   * 기본적으로 AsyncAppender는 코드 정보(클래스,메소드,줄번호)를 남기지 않는데, ''includeCallerData=true''를 통해서 가능하다. 물론 성능저하가 발생할 것이다.
   * 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다.   * 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다.
-  * Queue 크기는 ''queueSize'' 옵션으로 변경한다. 기본 ''256''.+  * Queue 크기는 ''queueSize'' 옵션으로 변경한다. 기본 ''256''적당히 증가시킨다. ''4096''? 
 +  * ''neverBlock=false'' 큐가 20%정도만 남으면  1차로 ERROR 보다 낮은 레벨의 로그를 버리고, ERROR 이상 레벨의 로그를 찍는데 그것도 꽉차면 blocking 상태가 된다. ''neverBlock=true'' 이면 그마저도 blocking 하지 않고 버려버린다. 
 + 
 +===== Logstash - AsyncDisruptorAppender ===== 
 +  * [[https://github.com/logstash/logstash-logback-encoder/blob/master/src/main/java/net/logstash/logback/appender/AsyncDisruptorAppender.java|AsyncDisruptorAppender]] 
 +  * [[https://github.com/logstash/logstash-logback-encoder|logstash-logback-encoder]] 프로젝트에 포함된 고성능 appender
  
  
java/logback/asyncappender.1594951216.txt.gz · 마지막으로 수정됨: 2020/07/17 11:00 저자 kwon37xi