本文小编为大家详细介绍“spring boot整合log4j2及MQ消费处理系统日志的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot整合log4j2及MQ消费处理系统日志的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少!
下面是spring boot整合log4j2结合spring amqp来消费处理系统日志的实例,只需要简单的三步
<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>
如果需要跨系统处理日志,拷贝一份log4j2.xml到处理日志的系统
<?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>
请将以下代码置于spring context上下文环境中
@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("在这里处理消费你的日志信息" + logMessage); }
读到这里,这篇“spring boot整合log4j2及MQ消费处理系统日志的方法”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。