您的位置:首页 > 编程语言 > Java开发

springboot配置logback写日志到ActiveMQ

2017-07-20 00:00 423 查看
假设已经安装好ActiveMQ服务,并且以61616端口将服务启动,打开浏览器,访问管理端地址,看到如下画面,说明ActiveMQ启动成功:



在管理端创建myqueue队列。

然后,创建logback.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="false" scanPeriod="60 seconds">

<appender name="jms" class="ch.qos.logback.classic.net.JMSQueueAppender">
<InitialContextFactoryName>
org.apache.activemq.jndi.ActiveMQInitialContextFactory
</InitialContextFactoryName>
<ProviderURL>tcp://127.0.0.1:61616</ProviderURL>
<QueueConnectionFactoryBindingName>ConnectionFactory</QueueConnectionFactoryBindingName>
<QueueBindingName>myqueue</QueueBindingName>
</appender>

<root level="info">
<appender-ref ref="jms" />
</root>

</configuration>

注意,QueueBindingName节点的myqueue是一个jndi名字,需要另外映射,因此,创建jndi.properties文件:

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory

# Use the following property to configure the default connector
java.naming.provider.url = vm://localhost

# Use the following property to specify the JNDI name the connection factory
# should appear as.
#connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry

# Register some queues in JNDI using the form:
#   queue.[jndiName] = [physicalName]
queue.myqueue = myqueue

# Register some topics in JNDI using the form:
#   topic.[jndiName] = [physicalName]
topic.MyTopic = example.MyTopic

最后,在程序中使用logger:

private Logger logger = LoggerFactory.getLogger(this.getClass());
......
logger.info("第一个参数为【{}】,第二个参数为【{}】",a,b);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息