spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志示例
前言
當(dāng)系統(tǒng)的并發(fā)比較高的時(shí)候,日志的處理輸出也是一種性能的開(kāi)銷負(fù)擔(dān),所以,選擇一個(gè)中間件來(lái)處理消費(fèi)日志必不可少!
下面是spring boot整合log4j2結(jié)合spring amqp來(lái)消費(fèi)處理系統(tǒng)日志的實(shí)例,只需要簡(jiǎn)單的三步
1.添加相關(guān)jar依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency>
2.系統(tǒng)log4j2.xml配置
如果需要跨系統(tǒng)處理日志,拷貝一份log4j2.xml到處理日志的系統(tǒng)
<?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="STDOUT" target="SYSTEM_OUT"> <PatternLayout pattern="%m%n" /> </Console> <RabbitMQ name="rabbitmq" addresses="localhost:5672" user="guest" password="guest" virtualHost="/" exchange="log4j2Sample" applicationId="log4j2SampleAppId" routingKeyPattern="%X{applicationId}.%c.%p" contentType="text/plain" contentEncoding="UTF-8" generateId="false" deliveryMode="PERSISTENT" charset="UTF-8" senderPoolSize="3" maxSenderRetries="5"> </RabbitMQ> </Appenders> <Loggers> <Logger name="org.springframework.amqp.samples.log4j2" level="info"> <AppenderRef ref="rabbitmq" /> </Logger> <Root> <AppenderRef ref="STDOUT" /> </Root> </Loggers> </Configuration>
3.添加處理日志的消息監(jiān)聽(tīng)
請(qǐng)將以下代碼置于spring context上下文環(huán)境中
@RabbitListener(bindings = @QueueBinding( exchange = @Exchange(value = "log4j2Sample", type = ExchangeTypes.FANOUT), value = @org.springframework.amqp.rabbit.annotation.Queue)) public void echoLogs(String logMessage) { System.out.println("在這里處理消費(fèi)你的日志信息" + logMessage); }
更多spring amqp的應(yīng)用,請(qǐng)參考spring amqp官方參考文檔:http://docs.spring.io/spring-amqp/docs
以上就是spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志示例的詳細(xì)內(nèi)容,更多關(guān)于spring boot整合MQ消費(fèi)log4j2日志的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于Spring的@Autowired依賴注入常見(jiàn)錯(cuò)誤的總結(jié)
有時(shí)我們會(huì)使用@Autowired自動(dòng)注入,同時(shí)也存在注入到集合、數(shù)組等復(fù)雜類型的場(chǎng)景。這都是方便寫(xiě) bug 的場(chǎng)景,本篇文章帶你了解Spring @Autowired依賴注入的坑2021-09-09Java實(shí)現(xiàn)excel表格轉(zhuǎn)成json的方法
本篇文章主要介紹了Java實(shí)現(xiàn)excel表格轉(zhuǎn)成json的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Java如何獲取Json中的數(shù)據(jù)實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Java如何獲取Json中數(shù)據(jù)的相關(guān)資料,我們?cè)谌粘i_(kāi)發(fā)中少不了和JSON數(shù)據(jù)打交道,那么我們來(lái)看看JAVA中常用的JSON獲取方式,需要的朋友可以參考下2023-09-09Spring5學(xué)習(xí)之基礎(chǔ)知識(shí)總結(jié)
這篇文章主要介紹了Spring5學(xué)習(xí)之基礎(chǔ)知識(shí)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-052020最新 idea下載、安裝與創(chuàng)建項(xiàng)目測(cè)試的教程圖解
這篇文章主要介紹了2020最新 idea下載、安裝與創(chuàng)建項(xiàng)目測(cè)試的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Java 無(wú)參數(shù)構(gòu)造函數(shù)的應(yīng)用
本篇文章主要介紹了Java 無(wú)參數(shù)構(gòu)造函數(shù)的應(yīng)用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04