문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 마지막 판 양쪽 다음 판 | ||
java:logback:asyncappender [2019/02/25 11:47] kwon37xi [Reactor Logback] |
java:logback:asyncappender [2020/07/23 12:59] kwon37xi [AsyncAppender] |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* Logback의 비동기 어펜더 및 기타 고속 어펜더들 | * Logback의 비동기 어펜더 및 기타 고속 어펜더들 | ||
* 비동기 로깅의 경우 Method name, Line Number 등이 출력되지 않는다. | * 비동기 로깅의 경우 Method name, Line Number 등이 출력되지 않는다. | ||
+ | |||
===== AsyncAppender ===== | ===== AsyncAppender ===== | ||
비동기 Appender는 확실히 빠르지만 부하가 심한 상황에서 WARN 이하 레벨의 로그는 기본적으로 20% 유실 될 수 있고, 비동기 큐에 로그가 쌓인 상태에서 프로세스가 종료되면 해당 로그는 기록되지 않고 종료된다. | 비동기 Appender는 확실히 빠르지만 부하가 심한 상황에서 WARN 이하 레벨의 로그는 기본적으로 20% 유실 될 수 있고, 비동기 큐에 로그가 쌓인 상태에서 프로세스가 종료되면 해당 로그는 기록되지 않고 종료된다. | ||
줄 27: | 줄 28: | ||
* 기본적으로 AsyncAppender는 코드 정보(클래스, | * 기본적으로 AsyncAppender는 코드 정보(클래스, | ||
* 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다. | * 단, 하나의 로그를 Async가 아닌 Appender와 함께 호출하며 해당 Appender에서 이미 코드 정보를 읽어들였다면 AsyncAppender에서도 코드 정보를 자동으로 가지게 된다. | ||
- | ===== Reactor Logback ===== | + | * Queue 크기는 '' |
+ | * '' | ||
+ | |||
+ | ===== Logstash - AsyncDisruptorAppender ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | ===== Reactor Logback | ||
* https:// | * https:// | ||
+ | * **Deprecated 예정이므로 사용하지 말 것. Momory Leak도 있어보임** [[https:// | ||
+ | * 기본 backlog 갯수가 100만개이다. 설정을 변경해야한다. | ||
* groovy로 설정하려면 logback 1.1.3 버전 이상 필요. [[http:// | * groovy로 설정하려면 logback 1.1.3 버전 이상 필요. [[http:// | ||
* [[https:// | * [[https:// | ||
* 성능 테스트 결과 유실이 없게 설정할 경우 Reactor Logback이 Logback 기본 AsyncAppender보다 훨씬 빠르다. | * 성능 테스트 결과 유실이 없게 설정할 경우 Reactor Logback이 Logback 기본 AsyncAppender보다 훨씬 빠르다. | ||
+ | * '' | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | <code xml> | ||
+ | < | ||
+ | |||
+ | <!-- The underlying appender will be the standard console one. --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | %d{HH: | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <!-- Wrap calls to the console logger with async dispatching to Disruptor. --> | ||
+ | < | ||
+ | <!-- Backlog size for logging events. Change size if they are picked up slowly. | ||
+ | | ||
+ | < | ||
+ | <!-- Caller data is relatively slow, so per default disabled --> | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | <!-- Direct all logging through the AsyncAppender. --> | ||
+ | <root level=" | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ |