사용자 도구

사이트 도구


java:logback:asyncappender

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:logback:asyncappender [2019/03/17 16:51]
kwon37xi [Reactor Logback]
java:logback:asyncappender [2019/03/22 17:46] (현재)
kwon37xi
줄 27: 줄 27:
   * 기본적으로 AsyncAppender는 코드 정보(클래스,​메소드,​줄번호)를 남기지 않는데, ''​includeCallerData=true''​를 통해서 가능하다. 물론 성능저하가 발생할 것이다.   * 기본적으로 AsyncAppender는 코드 정보(클래스,​메소드,​줄번호)를 남기지 않는데, ''​includeCallerData=true''​를 통해서 가능하다. 물론 성능저하가 발생할 것이다.
   * 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다.   * 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다.
 +
 +
 ===== Reactor Logback ===== ===== Reactor Logback =====
   * https://​github.com/​reactor/​reactor-addons/​tree/​master/​reactor-logback   * https://​github.com/​reactor/​reactor-addons/​tree/​master/​reactor-logback
 +  * 기본 backlog 갯수가 100만개이다. 설정을 변경해야한다.
   * groovy로 설정하려면 logback 1.1.3 버전 이상 필요. [[http://​jira.qos.ch/​browse/​LOGBACK-1008|LOGBACK-1008]]   * groovy로 설정하려면 logback 1.1.3 버전 이상 필요. [[http://​jira.qos.ch/​browse/​LOGBACK-1008|LOGBACK-1008]]
   * [[https://​mvnrepository.com/​artifact/​io.projectreactor.addons/​reactor-logback|Maven Repository for reactor-logback]]   * [[https://​mvnrepository.com/​artifact/​io.projectreactor.addons/​reactor-logback|Maven Repository for reactor-logback]]
   * 성능 테스트 결과 유실이 없게 설정할 경우 Reactor Logback이 Logback 기본 AsyncAppender보다 훨씬 빠르다.   * 성능 테스트 결과 유실이 없게 설정할 경우 Reactor Logback이 Logback 기본 AsyncAppender보다 훨씬 빠르다.
-  * 메소드 이름, 줄 번호 등이 출력되지 않는다.+  * ''​includeCallerData=false''​에 따라 ​메소드 이름, 줄 번호 등이 출력되지 않는다. ​대신 성능은 향상된다. 
 +  * [[https://​dzone.com/​articles/​ratpacked-use-asynchronous-logging|Ratpacked:​ Use Asynchronous Logging]] 
 <code xml> <code xml>
 <​configuration>​ <​configuration>​
줄 47: 줄 52:
   <!-- Wrap calls to the console logger with async dispatching to Disruptor. -->   <!-- Wrap calls to the console logger with async dispatching to Disruptor. -->
   <​appender name="​async"​ class="​reactor.logback.AsyncAppender">​   <​appender name="​async"​ class="​reactor.logback.AsyncAppender">​
 +    <!-- Backlog size for logging events. Change size if they are picked up slowly.
 +         ​Default is 1024 * 1024 -->
 +    <​backlog>​50000</​backlog>​
 +    <!-- Caller data is relatively slow, so per default disabled -->
 +    <​includeCallerData>​false</​includeCallerData>​
     <​appender-ref ref="​stdout"/>​     <​appender-ref ref="​stdout"/>​
   </​appender>​   </​appender>​
java/logback/asyncappender.1552809083.txt.gz · 마지막으로 수정됨: 2019/03/17 16:51 저자 kwon37xi