log4j异步mysql_log4j2用Log4jContextSelector启动参数配置全局异步日志是如何使用disruptor...
與 log4j2用asyncRoot配置異步日志是如何使用disruptor差異有幾個(gè):
給disruptor實(shí)例的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;
}
創(chuàng)建的是 RingBufferLogEvent實(shí)例。該對(duì)象封裝了日志輸出的執(zhí)行動(dòng)作等。
給disruptor的threadFactory的參數(shù)不同
thread factory的名字是"AsyncLogger[" + contextName + "]"
給disruptor的EventHandler不同
此處用RingBufferLogEventHandler,對(duì)接RingBufferLogEvent實(shí)例處理日志寫(xiě)出。
給disrupto的Translator不同
此處用RingBufferLogEventTranslator,對(duì)接RingBufferLogEvent實(shí)例組裝日志信息。
事件進(jìn)入隊(duì)列方式不同
封裝了一個(gè)叫tryPublish的方法進(jìn)入隊(duì)列。
log4j2用asyncRoot配置異步日志是如何使用disruptor
用asyncRoot配置對(duì)應(yīng)的對(duì)接disruptor類(lèi)是AsyncLoggerConfigDisruptor,用Log4jContextSelector啟動(dòng)參數(shù)配置全局異步的對(duì)應(yīng)的對(duì)接disrupto ...
IntellIJ IDEA 啟動(dòng) 參數(shù) 配置
系統(tǒng)環(huán)境: 型號(hào)名稱(chēng): MacBook Pro型號(hào)標(biāo)識(shí)符: MacBookPro11,4處理器名稱(chēng): Intel Core i7處理器速度: 2.8 GHz處理器數(shù)目: 1核總數(shù): 4L2 緩存(每個(gè) ...
eclipse.ini啟動(dòng)參數(shù)配置的解析及方法
總結(jié)
以上是生活随笔為你收集整理的log4j异步mysql_log4j2用Log4jContextSelector启动参数配置全局异步日志是如何使用disruptor...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php mysql 安装错误_Apach
- 下一篇: md5可以解密吗_Python训练营作业