Я пытаюсь сделать POC, используя log4j JMSappender и ActiveMQ. Я успешно следую этому примеру ->http://activemq.apache.org/how-do-i-use-log4j-jms-appender-with-activemq.htmlИспользование log4j JMSAppender с ActiveMQ - тайм-аут проводного формата на уровне отладки (на стороне клиента)
Но это для уровня INFO. Я сделал некоторые изменения, чтобы использовать его на уровне DEBUG, и моя программа и activeMQ не могут обменять их формат проводов. Вот мой log4j (клиентская сторона)
log4j.rootLogger=DEBUG, stdout, jms
log4j.logger.org.apache.activemq=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c - %m%n
log4j.appender.stdout.Threshold=INFO
log4j.appender.jms=org.apache.log4j.net.JMSAppender
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.jms.ProviderURL=tcp://localhost:61616
log4j.appender.jms.TopicBindingName=logTopic
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory
log4j.appender.jms.Threshold=DEBUG
При запуске моего клиента у меня есть ошибка формата провода.
программа Производитель:
import org.apache.log4j.Logger;
public class ProducerDebug {
public static void main(String[] args) throws InterruptedException
{
new ProducerDebug();
}
private ProducerDebug() throws InterruptedException {
Logger logger = Logger.getLogger(ProducerInfo.class);
while (true)
{
logger.debug("push DEBUG");
logger.info("push INFO2");
Thread.sleep(10000);
}
}
}
И сообщение об ошибке:
log4j: ERROR Ошибка при активации опции для Appender имени [JMS]. javax.jms.JMSException: Время ожидания согласования формата провода: peer не отправьте его формат проводов. на org.apache.activemq.util.JMSExceptionSupport.create (JMSExceptionSupport.java:72) на org.apache.activemq.ActiveMQConnection.syncSendPacket (ActiveMQConnection.java:1412) на org.apache.activemq.ActiveMQConnection. ensureConnectionInfoSent (ActiveMQConnection.java:1501) на org.apache.activemq.ActiveMQConnection.createSession (ActiveMQConnection.java:323) на org.apache.activemq.ActiveMQConnection.createTopicSession (ActiveMQConnection.java:1134) в орг .apache.log4j.net.JMSAppender.activateOptions (JMSAppender.java:218) по адресу org.apache.log4j.config.PropertySetter.activate (PropertySetter. Java: 307) на org.apache.log4j.config.PropertySetter.setProperties (PropertySetter.java:172) на org.apache.log4j.config.PropertySetter.setProperties (PropertySetter.java:104) в орг .apache.log4j.PropertyConfigurator.parseAppender (PropertyConfigurator.java:842) на org.apache.log4j.PropertyConfigurator.parseCategory (PropertyConfigurator.java:768) на org.apache.log4j.PropertyConfigurator.configureRootCategory (PropertyConfigurator.java : 648) по адресу org.apache.log4j.PropertyConfigurator.doConfigure (PropertyConfigurator.java:514) по адресу org.apache.log4j.PropertyCo nfigurator.doConfigure (PropertyConfigurator.java:580) на org.apache.log4j.helpers.OptionConverter.selectAndConfigure (OptionConverter.java:526) на org.apache.log4j.LogManager. (LogManager.java:127) при org.apache.log4j.Logger.getLogger (Logger.java:117) в awg.adb.producer.ProducerDebug. (ProducerDebug.java:13) в awg.adb.producer.ProducerDebug.main (ProducerDebug.java:9) Вызвано: java.io.IOException: Время ожидания согласования формата провода: peer не отправить его формат проводов. на org.apache.activemq.transport.WireFormatNegotiator.oneway (WireFormatNegotiator.java:98) на org.apache.activemq.transport.MutexTransport.oneway (MutexTransport.java:68) на org.apache.activemq. transport.ResponseCorrelator.asyncRequest (ResponseCorrelator.java:81) по адресу org.apache.activemq.transport.ResponseCorrelator.request (ResponseCorrelator.Java: 86) на org.apache.activemq.ActiveMQConnection.syncSendPacket (ActiveMQConnection.java:1387) ... подробнее 17
Я пробовал много вещей, и я не могу понять, почему у меня есть эта ошибка.
Информацию: Я использую - ActiveMQ 5.12.1 - Log4j 1.2.17
Благодаря Hassen. Я попробовал ваш пример, изменив «log4j.logger.your.package = jms» на «log4j.logger.your.package = DEBUG, jms», и он работает. – ellirar