2017-09-21 14 views
0

jgroupsが内部的にどのように動作しているかを知るためにログを記録したい。http://jgroups.org/tutorial/index.htmtウェブサイト.clusterが正常に形成されたが、FDプロトコルをログに記録できない別のノードなどjgroupsデモプロジェクトのロギングが動作していない

へのメッセージはIクラスタ

のjava -cpを形成するための以下のJavaコマンドを使用する ":ある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:jgro ups.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> 

おかげで私を助けて!

答えて

1

-Djgroups.use.jdk_logger=trueは、log4j2を使用しないことを意味します。

以下のシステムプロパティ-Dlog4j.configurationFile=$HOME/log4j2.xmlとlog4j2.xmlファイルを使用してください。 $HOMEをhomedirに置き換え、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>

+0

私は真-Djgroups.use.jdk_logger =を取り除いた後、それが正常に動作しているが、私はのlog4j.xmlを使用しています。ありがとう! –

+0

これがあなたの問題を解決したことを嬉しく思います! log4jでは、 '-Dlog4j.configuration = file:$ HOME/log4j.properties'を使用してください。 –

+0

ありがとうございます!私はこれを試みます。 –

関連する問題