Logging jgroups演示项目日志记录不工作

Logging jgroups演示项目日志记录不工作,logging,log4j,jgroups,Logging,Log4j,Jgroups,我想通过日志了解jgroups在内部的工作情况。因此,我通过以下网站创建了两个集群。集群成功形成,但我无法记录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 tc

我想通过日志了解jgroups在内部的工作情况。因此,我通过以下网站创建了两个集群。集群成功形成,但我无法记录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文件。您需要用homedir替换
$HOME
,并注意log4j2 jar需要位于类路径上



在我删除-Djgroups.use.jdk_logger=true后,它工作正常,但我使用的是log4j.xml。谢谢很高兴看到这解决了你的问题!使用log4j,只需使用
-Dlog4j.configuration=file:$HOME/log4j.properties
@BelaBan如何仅打印上述配置中“org.jgroups.protocols.FD_ALL”的日志?