2013-02-08 2 views
1

모든 메시지가 SQL Server 데이터베이스에 기록되도록 ActiveMQ를 사용하여 Mule 응용 프로그램에 로깅을 추가하려고합니다. 이 내용은 Mule의 Log4j 등록 정보 파일 내용입니다.Log4j JMS appender를 사용하여 ActiveMQ에 연결

log4j.rootCategory=INFO, console, jms 

log4j.logger.org.apache.activemq=INFO, stdout 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n 


# Mule classes 
log4j.logger.org.mule=INFO 
log4j.logger.com.mulesoft=INFO 

# Your custom classes 
log4j.logger.com.mycompany=DEBUG 

# JMS Appender 
log4j.appender.jms=org.apache.log4j.net.JMSAppender 
log4j.appender.jms.InitialContextFactoryName=org.apache.activemq.jndi.ActiveMQInitialContextFactory 
log4j.appender.jms.ProviderURL=tcp://sjc04-wduatesb1:9162 
#tcp//localhost:61616 
log4j.appender.jms.TopicBindingName=logTopic 
log4j.appender.jms.TopicConnectionFactoryBindingName=ConnectionFactory 

알 수 있듯이 JMS appender를 사용하려고합니다. 나는 또한 오프 읽을 수있는 주제를 가리 키도록 JNDI 설정 파일을 가지고, $ MULE_HOME/conf의에 저장된 파일의 내용은 /입니다

topic.logTopic = logTopic 메시지가 점점 비록 내가 찾을 그러나

주제에 큐가 대기열에 포함되지 않았으므로 데이터베이스에 기록되지 않습니다. 아무도 내가 잘못 가고있는 것에 대한 아이디어 나 제안이 있습니까?

+0

영구 가입자를 사용하지 않는 한 주제에 대기열이 없으므로 대기열에 포함되는 내용을 잘 모릅니다. 또한 : 어떤 데이터베이스? –

답변

0

이 문제를 해결하는 한 가지 방법은 메시지를 큐에 넣은 큐 구독자가 메시지를 데이터베이스에 넣도록 토픽 구독자를 만드는 것입니다.

관련 문제