jgroups 演示项目日志记录不起作用

jgroups demo project logging is not working

我想登录以了解 jgroups 是如何工作的 internally.So,我通过关注 http://jgroups.org/tutorial/index.htmt 网站创建了两个集群。集群已成功形成,但我无法记录 FD 协议保持活动消息,将消息共享到另一个节点等

我使用了以下java命令来形成集群

java -cp ".:log4j.jar:jgroups.jar:.:" -Djgroups.bind_addr=127.0.0.1 -Djava.net.preferIPv4Stack=true -Djgroups.use.jdk_logger=true org.jgroups.demos.Draw -props tcp1.xml

java -cp ".:log4j.jar:jgroups.jar:.:" -Djgroups.bind_addr=127.0.0.1 -Djava.net.preferIPv4Stack=true -Djgroups.use.jdk_logger=true org.jgroups.demos.Draw -props tcp2.xml

log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<!--
   For more configuration infromation and examples see the Apache Log4j website: http://logging.apache.org/log4j/
 -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">

    <appender name="ROLL" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="Threshold" value="ALL"/>
        <param name="Target" value="System.out"/>
    <param name="Append" value="true"/> 
    <param name="ImmediateFlush" value="true"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
    <param name="File" value="JgroupLogs/jgroup.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c{1}] (%t) %m%n"/>
        </layout>
    </appender>


    <!-- ================ -->
    <!-- Limit categories -->
    <!-- ================ -->


    <category name="org.jgroups">
        <priority value="ALL"/>
    </category>

    <!-- ======================= -->
    <!-- Setup the Root category -->
    <!-- ======================= -->

    <root>
        <priority value="ALL"/>
        <appender-ref ref="ROLL"/>
    </root>

</log4j:configuration>

tcp.xml

<!--
    TCP based stack, with flow control and message bundling. This is usually used when IP
    multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast).
    Note that TCP.bind_addr and TCPPING.initial_hosts should be set, possibly via system properties, e.g.
    -Djgroups.bind_addr=192.168.5.2 and -Djgroups.tcpping.initial_hosts=192.168.5.2[7800]
    author: Bela Ban
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="urn:org:jgroups"
        xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
    <TCP bind_port="7800"
         recv_buf_size="${tcp.recv_buf_size:130k}"
         send_buf_size="${tcp.send_buf_size:130k}"
         max_bundle_size="64K"
         sock_conn_timeout="300"

         thread_pool.min_threads="0"
         thread_pool.max_threads="20"
         thread_pool.keep_alive_time="30000"/>

    <TCPPING async_discovery="true"
             initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7800],localhost[7801]}"
             port_range="2"/>
    <MERGE3  min_interval="10000"
             max_interval="30000"/>
    <FD_SOCK/>
    <FD timeout="3000" max_tries="3" />
    <VERIFY_SUSPECT timeout="1500"  />
    <BARRIER />
    <pbcast.NAKACK2 use_mcast_xmit="false"
                   discard_delivered_msgs="true"/>
    <UNICAST3 />
    <pbcast.STABLE desired_avg_gossip="50000"
                   max_bytes="4M"/>
    <pbcast.GMS print_local_addr="true" join_timeout="2000"
                view_bundling="true"/>
    <MFC max_credits="2M"
         min_threshold="0.4"/>
    <FRAG2 frag_size="60K"  />
    <!--RSVP resend_interval="2000" timeout="10000"/-->
    <pbcast.STATE_TRANSFER/>
<TRACE/>
</config>

谢谢帮帮我!!!

-Djgroups.use.jdk_logger=true表示你不会使用log4j2.

使用系统 属性 -Dlog4j.configurationFile=$HOME/log4j2.xml 和下面的 log4j2.xml 文件。您需要将 $HOME 替换为您的主目录,并注意 log4j2 JAR 需要位于类路径中。

<?xml version="1.0" encoding="UTF-8"?> <configuration> <appenders> <Console name="STDOUT" target="SYSTEM_OUT" follow="true"> <!--PatternLayout pattern="%-7d{HH:mm:ss,SSS} [%p] %c: %m%n"/--> <PatternLayout pattern="%r [%p] %c{1}: %m%n"/> </Console> </appenders> <loggers> <root level="warn"> <appender-ref ref="STDOUT"/> </root> <logger name="org.jgroups" level="warn"/> <logger name="org.jgroups.protocols" level="TRACE"/> </loggers> </configuration>