b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

log4j appender自定义_log4j routingappender_fileappender log4j(20)

电脑杂谈  发布时间:2017-01-30 04:04:43  来源:网络整理

测试代码

可以使用一下代码测试SocketAppender和SocketNode:

1 @Test

2 public void testSocketAppender() throws Exception {

3SocketAppender appender = new SocketAppender(

4InetAddress.getLocalHost(), 8000);

5appender.setLocationInfo(true);

6appender.setApplication("AppenderTest");

7appender.activateOptions();

8configAppender(appender);

9

10Logger log = Logger.getLogger("levin.log4j.test.TestBasic");

11for(int i = 0;i < 100; i++) {

12Thread.sleep(10000);

13if(i % 2 == 0) {

14log.info("Normal test.");

15} else {

16log.info("Exception test", new Exception());

17}

18}

19 }

20

21 @Test

22 public void testSimpleSocketServer() throws Exception {

23ConsoleAppender appender = new ConsoleAppender(new TTCCLayout());

24appender.activateOptions();

25configAppender(appender);

26

27ServerSocket serverSocket = new ServerSocket(8000);

28while(true) {

29Socket socket = serverSocket.accept();

30new Thread(new SocketNode(socket,

31LogManager.getLoggerRepository()),

32"SimpleSocketServer-" + 8000).start();

33}

34 }

SocketHubAppender类

SocketHubAppender类似SocketAppender,它也将日志信息(序列化后的LoggingEvent实例)发送到指定的日志服务器,该日志服务器可以是SocketNode支持的服务器。不同的是,SocketAppender指定日志服务器的地址和端口号,而SocketHubAppender并不直接指定日志服务器的地址和端口号,它自己启动一个指定端口的服务器,由日志服务器注册到到该服务器,从而产生一个连接参数,SocketHubAppender根据这些参数发送日志信息到注册的日志服务器,因而SocketHubAppender支持同时发送相同的日志信息到多个日志服务器。

另外,SocketHubAppender还会缓存部分LoggingEvent实力,从而支持在新注册一个日志服务器时,它会先将那些缓存下来的LoggingEvent发送给新注册服务器,然后接受新的LoggingEvent日志打印请求。

具体实现以及注意事项参考SocketAppender。最好补充一点,SocketHubAppender可以和chainsaw一起使用,它好像使用了zeroconf协议,和SocketHubAppender以及SocketAppender中的ZeroConfSupport类相关,不怎么了解这个协议,也没有时间细看了。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29497-20.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...