log4j异步mysql_log4j2用Log4jContextSelector启动参数配置全局异步日志是如何使用disruptor...
與 log4j2用asyncRoot配置異步日志是如何使用disruptor差異有幾個:
給disruptor實例的EventFactory不同
此處EventFactory采用的是RingBufferLogEvent.FACTORY,newInstance邏輯大致是:
public RingBufferLogEvent newInstance() {
final RingBufferLogEvent result = new RingBufferLogEvent();
if (Constants.ENABLE_THREADLOCALS) {
result.messageText = new StringBuilder(Constants.INITIAL_REUSABLE_MESSAGE_SIZE);
result.parameters = new Object[10];
}
return result;
}
創建的是 RingBufferLogEvent實例。該對象封裝了日志輸出的執行動作等。
給disruptor的threadFactory的參數不同
thread factory的名字是"AsyncLogger[" + contextName + "]"
給disruptor的EventHandler不同
此處用RingBufferLogEventHandler,對接RingBufferLogEvent實例處理日志寫出。
給disrupto的Translator不同
此處用RingBufferLogEventTranslator,對接RingBufferLogEvent實例組裝日志信息。
事件進入隊列方式不同
封裝了一個叫tryPublish的方法進入隊列。
log4j2用asyncRoot配置異步日志是如何使用disruptor
用asyncRoot配置對應的對接disruptor類是AsyncLoggerConfigDisruptor,用Log4jContextSelector啟動參數配置全局異步的對應的對接disrupto ...
IntellIJ IDEA 啟動 參數 配置
系統環境: 型號名稱: MacBook Pro型號標識符: MacBookPro11,4處理器名稱: Intel Core i7處理器速度: 2.8 GHz處理器數目: 1核總數: 4L2 緩存(每個 ...
eclipse.ini啟動參數配置的解析及方法
總結
以上是生活随笔為你收集整理的log4j异步mysql_log4j2用Log4jContextSelector启动参数配置全局异步日志是如何使用disruptor...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql 安装错误_Apach
- 下一篇: linux cmake编译源码,linu