【问题标题】:Disable logging from ActiveMQ Java client禁用 ActiveMQ Java 客户端的日志记录
【发布时间】:2021-03-15 23:17:16
【问题描述】:

我设置了 ActiveMQ,并使用 Java 向它发送消息。这是一个简单的试用,没什么花哨的(顺便说一句,我可能做错了,解释了所有的 sysout,以前从未使用过 ActiveMQ)。我循环并向队列发送 10k 条消息,但它在控制台中记录每一次发送,如下所示:

DEBUG 12 Mar 2021 11:28:45 main - [org.apache.activemq.thread.TaskRunnerFactory]:98 - Initialized TaskRunnerFactory[ActiveMQ Session Task] using ExecutorService: java.util.concurrent.ThreadPoolExecutor@5622fdf[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
DEBUG 12 Mar 2021 11:28:45 main - [org.apache.activemq.transport.WireFormatNegotiator]:82 - Sending: WireFormatInfo { version=12, properties={StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, Host=XXXXXXXXXXX, TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.16.1}, magic=[A,c,t,i,v,e,M,Q]}
DEBUG 12 Mar 2021 11:28:45 ActiveMQ Transport: XXXXXXXXXXXXX - [org.apache.activemq.transport.InactivityMonitor]:103 - Using min of local: WireFormatInfo { version=12, properties={StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, Host=XXXXXXXXXXXXXXXXXXXXXXXXX, TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.16.1}, magic=[A,c,t,i,v,e,M,Q]} and remote: WireFormatInfo { version=12, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, TightEncodingEnabled=true, MaxFrameSize=104857600, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.16.1}, magic=[A,c,t,i,v,e,M,Q]}
DEBUG 12 Mar 2021 11:28:45 ActiveMQ Transport: XXXXXXXXXXXXX - [org.apache.activemq.transport.WireFormatNegotiator]:130 - Received WireFormat: WireFormatInfo { version=12, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, TightEncodingEnabled=true, MaxFrameSize=104857600, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.16.1}, magic=[A,c,t,i,v,e,M,Q]}
DEBUG 12 Mar 2021 11:28:45 ActiveMQ Transport: XXXXXXXXXXXXX - [org.apache.activemq.transport.WireFormatNegotiator]:137 - XXXXXXXXXXXXX before negotiation: OpenWireFormat{version=12, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false, maxFrameSize=9223372036854775807}

我如何禁用它,因为它记录了这么多,导致发送速度非常慢?

我想我应该能够将日志记录级别更改为高于DEBUG 的级别,例如WARN?是服务器端还是客户端?如果我是对的,文件在哪里?

【问题讨论】:

  • 分享您的日志配置文件以获取详细信息
  • 我不知道记录器文件的配置在哪里,是在客户端还是服务器端?
  • 你是如何运行你的测试代码的?命令行还是在 IDE 项目中,例如 Eclipse?可能有一个 log4j.properties(或类似的)文件。
  • 我从 Eclipse 启动它

标签: java jms activemq


【解决方案1】:

由于您的记录器配置,正在记录这些消息。确认您没有设置全局 DEBUG 级别。

【讨论】:

    【解决方案2】:

    我没有用于 log4j 配置的文件,所以我在/src/main/resources 下创建了一个文件并使用了这个配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration debug="false"
        xmlns:log4j='http://jakarta.apache.org/log4j/'>
    
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%5p %d{yyyy.MM.dd_HH:mm:ss} - vdf-loader - (%t) [%c]:%L - %m\n" />
        </layout>
    </appender>
    
    <appender name="file" class="org.apache.log4j.FileAppender">
        <param name="File" value="D:\\PATH\\TO\\YOUR\\LOGS\\vdf-loader.log" />
        <param name="Append" value="false" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%5p %d{yyyy.MM.dd_HH:mm:ss} - vdf-loader - (%t) [%c]:%L - %m\n" />
        </layout>
    </appender>
    
    <--! configuration of ActiveMQ here -->
    <category name="org.apache.activemq">
        <priority value="INFO" />
    </category>
    
    // more categories...
    
    <root>
        <level value="INFO" />
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
    
    </log4j:configuration>
    

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 2016-05-22
      • 1970-01-01
      • 2013-11-11
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      相关资源
      最近更新 更多