Java ActiveMQ:如何避免调试消息被发送到log4j控制台?

Java ActiveMQ:如何避免调试消息被发送到log4j控制台?,java,logging,log4j,activemq,Java,Logging,Log4j,Activemq,我通过以下代码向ActiveMQ message broker(版本5.15.10)发送消息: classConstructor() { connection = (ActiveMQConnection) connectionFactory.createConnection(ActiveMqConfig.activeMqUser, ActiveMqConfig.activeMqUser); [...] } public void sendStringMe

我通过以下代码向ActiveMQ message broker(版本5.15.10)发送消息:

classConstructor() {
    connection = (ActiveMQConnection) connectionFactory.createConnection(ActiveMqConfig.activeMqUser,
                ActiveMqConfig.activeMqUser);
[...]
}

public void sendStringMessage(String messageText, String queueName) {
    try {
        connection.start();
        session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        destination = _session.createQueue(queueName);
        producer = _session.createProducer(_destination);
        producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
        producer.setTimeToLive(30000);
        producer.setPriority(0);
        TextMessage message = _session.createTextMessage(messageText);
        producer.send(message);
        session.close();
        connection.close();
    } catch (Exception ex) {
        MessageLogger.logError(getClass(), ex);
    }
}
这很好,但我从ActiveMQ获得调试消息,这会在一段时间后导致内存堆不足错误。这些消息如下所示:

11:08:51.477 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.transport.WireFormatNegotiator - Sending: WireFormatInfo { version=12, properties={StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, Host=vmla032.acc.gsi.de, TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.15.10}, magic=[A,c,t,i,v,e,M,Q]}
11:08:51.477 [ActiveMQ Transport: tcp://myUrl:61616@47126] DEBUG org.apache.activemq.transport.InactivityMonitor - Using min of local: WireFormatInfo { version=12, properties={StackTraceEnabled=true, PlatformDetails=Java, CacheEnabled=true, Host=vmla032.acc.gsi.de, TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024, ProviderName=ActiveMQ, TightEncodingEnabled=true, MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000, ProviderVersion=5.15.10}, 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.15.10}, magic=[A,c,t,i,v,e,M,Q]}
11:08:51.478 [ActiveMQ Transport: tcp://myUrl:61616@47126] DEBUG org.apache.activemq.transport.WireFormatNegotiator - 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.15.10}, magic=[A,c,t,i,v,e,M,Q]}
11:08:51.478 [ActiveMQ Transport: tcp://myUrl:61616@47126] DEBUG org.apache.activemq.transport.WireFormatNegotiator - tcp://myUrl:61616@47126 before negotiation: OpenWireFormat{version=12, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false, maxFrameSize=9223372036854775807}
11:08:51.478 [ActiveMQ Transport: tcp://myUrl:61616@47126] DEBUG org.apache.activemq.transport.WireFormatNegotiator - tcp://myUrl:61616@47126 after negotiation: OpenWireFormat{version=12, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false, maxFrameSize=104857600}
11:08:51.488 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.util.ThreadPoolUtils - Shutdown of ExecutorService: java.util.concurrent.ThreadPoolExecutor@370c55d1[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] is shutdown: true and terminated: true took: 0.000 seconds.
11:08:51.488 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.util.ThreadPoolUtils - Shutdown of ExecutorService: java.util.concurrent.ThreadPoolExecutor@4cd7acb5[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0] is shutdown: true and terminated: true took: 0.000 seconds.
11:08:51.488 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.transport.tcp.TcpTransport - Stopping transport tcp://myUrl:61616@47126
11:08:51.489 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.thread.TaskRunnerFactory - Initialized TaskRunnerFactory[ActiveMQ Task] using ExecutorService: java.util.concurrent.ThreadPoolExecutor@6eac26a0[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
11:08:51.489 [ActiveMQ Task-1] DEBUG org.apache.activemq.transport.tcp.TcpTransport - Closed socket Socket[addr=myUrl,port=61616,localport=47126]
11:08:51.489 [ForkJoinPool.commonPool-worker-9] DEBUG org.apache.activemq.util.ThreadPoolUtils - Forcing shutdown of ExecutorService: java.util.concurrent.ThreadPoolExecutor@6eac26a0[Running, pool size = 1, active threads = 0, queued tasks = 0, completed tasks = 1]
11:08:51.489 [ForkJoinPool.commonPool-worker-9] INFO de.gsi.sdbe.playground.wgeithner.archiving.data.extractor.QueryPerformer - 
我的log4j.properties如下所示:

<Configuration status="error" name="sbde" packages="log4j.package.log4j2">
    <Properties>
        <Property name="messagePattern">%5p [%d{dd MMM yyyy HH:mm:ss,SSS}] (%F) - %m%n</Property>
    </Properties>

    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="${messagePattern}" />
        </Console>
    </Appenders>

    <Loggers>
        <Root level="error">
            <AppenderRef ref="Console" level="error" />
        </Root>
    </Loggers>

</Configuration>

我如何摆脱这些信息?有什么好主意欢迎

你有什么解决办法吗?我也有同样的problem@RishikeshFanse:不抱歉,没有解决方案您是让它被记录下来还是找到了解决方法?谢谢你的回复
# log4j.rootLogger=INFO, console, logfile
log4j.rootLogger=INFO, out
log4j.logger.org.apache.activemq.spring=WARN
log4j.logger.org.apache.activemq.web.handler=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean=WARN
log4j.logger.org.apache.camel=INFO
log4j.logger.org.eclipse.jetty=WARN

# When debugging or reporting problems to the ActiveMQ team,
# comment out the above lines and uncomment the next.

#log4j.rootLogger=DEBUG, logfile, console

# Or for more fine grained debug logging uncomment one of these
#log4j.logger.org.apache.activemq=DEBUG
#log4j.logger.org.apache.camel=DEBUG

# Console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p | %m%n
log4j.appender.console.threshold=WARN

# File appender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=${activemq.data}/activemq.log
log4j.appender.logfile.maxFileSize=1024KB
log4j.appender.logfile.maxBackupIndex=5
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d | %-5p | %m | %c | %t%n
# use some of the following patterns to see MDC logging data
#
# %X{activemq.broker}
# %X{activemq.connector}
# %X{activemq.destination}
#
# e.g.
#
# log4j.appender.logfile.layout.ConversionPattern=%d | %-20.20X{activemq.connector} | %-5p | %m | %c | %t%n

log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer

###########
# Audit log
###########

log4j.additivity.org.apache.activemq.audit=false
# log4j.logger.org.apache.activemq.audit=INFO, audit

log4j.appender.audit=org.apache.log4j.RollingFileAppender
log4j.appender.audit.file=${activemq.data}/audit.log
log4j.appender.audit.maxFileSize=1024KB
log4j.appender.audit.maxBackupIndex=5