禁用ActiveMQ Java客户端的日志记录



我设置了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?是服务器端还是客户端&如果我是对的,文件在哪里?

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

我没有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 - %mn" />
</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 - %mn" />
</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>

最新更新