服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - spring boot整合log4j2及MQ消费处理系统日志示例

spring boot整合log4j2及MQ消费处理系统日志示例

2022-08-28 16:08kl Java教程

这篇文章主要为大家介绍了spring boot整合log4j2及MQ消费处理系统日志的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

前言

当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少!

下面是spring boot整合log4j2结合spring amqp来消费处理系统日志的实例,只需要简单的三步

1.添加相关jar依赖

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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.系统log4j2.xml配置

如果需要跨系统处理日志,拷贝一份log4j2.xml到处理日志的系统

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?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.添加处理日志的消息监听

请将以下代码置于spring context上下文环境中

?
1
2
3
4
5
6
@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 amqp的应用,请参考spring amqp官方参考文档:http://docs.spring.io/spring-amqp/docs

以上就是spring boot整合log4j2及MQ消费处理系统日志示例的详细内容,更多关于spring boot整合MQ消费log4j2日志的资料请关注服务器之家其它相关文章!

原文链接:http://www.kailing.pub/article/index/arcid/146.html

延伸 · 阅读

精彩推荐