Pulsar 接收 Log4j2 日志

这篇博客介绍了如何配置Log4j2以将应用程序日志发送到Pulsar服务,包括在服务端添加依赖、设置PulsarAppender,以及创建Pulsar客户端来接收和处理日志消息的示例代码。此外,还展示了Log4j2的配置细节,如定义Appenders和Loggers。
摘要由CSDN通过智能技术生成

1. 添加依赖

该依赖在需要记录日志的服务上添加,用以配置 Log4j2 的 Pulsar Appender

<dependency>
    <groupId>org.apache.pulsar</groupId>
    <artifactId>pulsar-log4j2-appender</artifactId>
    <version>2.8.0</version>
</dependency>

Pulsar 客户端,在接收日志消息的服务添加

<dependency>
    <groupId>org.apache.pulsar</groupId>
    <artifactId>pulsar-client</artifactId>
    <version>2.8.1</version>
</dependency>

2. 接收日志消息

这里是一个简单的接收方法

public void receive() {
    Consumer<String> consumer = PulsarClient.builder()
        .serviceUrl("pulsar://10.16.2.151:6650").build()
        .newConsumer(Schema.STRING)
        .topic("log")
        .subscriptionName("topicGroup")
        .subscriptionType(SubscriptionType.Shared)
        .subscriptionInitialPosition(SubscriptionInitialPosition.Earliest)
        .negativeAckRedeliveryDelay(60, TimeUnit.SECONDS)
        .subscribe();

    while (true) {
        Message<String> message = consumer.receive();
        logger.info("收到日志:{}", new String(message.getData()).trim());
        consumer.acknowledge(message);
    }
}

3. 配置 Log4j2

Configuration:
  status: info
  monitorInterval: 30

  Appenders:
    Console:  # 输出到控制台
      name: CONSOLE
      target: SYSTEM_OUT
      PatternLayout:
        pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %t (%F:%L) - %m%n"
    Pulsar:
      name: PULSAR
      serviceUrl: pulsar://192.168.2.151:6650
      topic: log
      ignoreExceptions: false
      avoidRecursive: false
      syncSend: false
      PatternLayout:
        pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%5p %t (%F:%L) - %m%n" %m%n"

  Loggers:
    Root:
      level: info
      AppenderRef:
        - ref: CONSOLE
    Logger:
      name: pulsarTest
      level: info
      AppenderRef:
        - ref: PULSAR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值