【问题标题】:Failover Appender backing up JMS Appender - no parameter that matches element Failovers故障转移 Appender 备份 JMS Appender - 没有与元素故障转移匹配的参数
【发布时间】:2017-07-27 11:56:18
【问题描述】:

我在使 log4j2 与 ActiveMQ 一起工作时遇到了一些问题。

这是我的 log4j2.xml:

<Configuration>
<ThresholdFilter level="all"/>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%m%n"/>
                <Filters>
                    <ThresholdFilter level="info" />
                </Filters>
        </Console>

        <File name="baseLog" filename="\\\\p02630\\c$\\tmp\\logs\\logws-gendb.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
              </PatternLayout>
            <Filters>
                <ThresholdFilter level="error"/>
            </Filters>
        </File>

    <JMS name="AMQError" providerurl="tcp://169.3.200.150:61616" password="admin" userName="admin">
        <factoryName>org.apache.activemq.jndi.ActiveMQInitialContextFactory</factoryName>
        <factoryBindingName>ConnectionFactory</factoryBindingName>
        <TopicBindingName>logError</TopicBindingName>
    </JMS>
    <Failover name="FailOverAMQ" primary="AMQError">
        <Failovers>
            <appender-ref ref="baseLog"/>
        </Failovers>
    </Failover>     
</Appenders>
<Loggers>
    <root>
        <AppenderRef ref="STDOUT" />
        <AppenderRef ref="baseLog" />
        <AppenderRef ref="FailOverAMQ" />
    </root>
</Loggers>
</Configuration>

目标是能够在 ActiveMQ 中记录错误。但是,如果/当 AMQ 服务器关闭时,我希望记录器能够自动重新连接并仍然在文件 Appender 中记录错误。

在服务器运行时,一切正常。但是当我关闭服务器时,ActiveMQ(正常),文件 Appender 也没有工作,当服务器恢复正常时,log4j 在 60 秒自动重新连接时间(默认)后不会自动重新连接。更麻烦的是,我的文件附加程序在服务器关闭后不再工作。

我首先遇到了“没有与元素故障转移匹配的参数”详细信息here 的问题,并尝试添加注册“故障转移”元素的 FallBack 类。它确实删除了错误消息,但故障转移附加程序没有更好地工作。我的印象是这个类所做的一切都是混淆错误。

您在使用故障转移附加程序时遇到过什么运气吗?

感谢您的帮助。

【问题讨论】:

    标签: java jms activemq log4j2


    【解决方案1】:

    只是快速跟进。

    我找不到任何解决此问题的方法。似乎是 log4j2 中的一个错误。

    最后,我使用 javax.jms 包开发了一个简短的类来管理我与 ActiveMQ 的连接。

    不完美,但至少它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2022-01-12
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2011-06-24
      • 1970-01-01
      相关资源
      最近更新 更多