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>
我想登录以了解 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>