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

log4j appender自定义_log4j routingappender_fileappender log4j(14)

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

10e.printStackTrace();

11} catch (IOException e) {

12e.printStackTrace();

13} catch (RuntimeException e) {

14e.printStackTrace();

15}

16super.activateOptions();

17 }

18 protected void append(LoggingEvent event) {

19if (sh != null) {

20sh.send(layout.format(event));

21if (layout.ignoresThrowable()) {

22String[] s = event.getThrowableStrRep();

23if (s != null) {

24StringBuffer buf = new StringBuffer();

25for (int i = 0; i < s.length; i++) {

26buf.append(s[i]);

27buf.append("\r\n");

28}

29sh.send(buf.toString());

30}

31}

32}

33 }

在SocketHandler中,创建一个新的线程以指定的端口,如果有Telnet客户端连接过来,则将其加入到connections集合中。这样在send()方法中就可以遍历connections集合,并将日志信息发送到每个连接的Telnet客户端。

1 private Vector writers = new Vector();

2 private Vector connections = new Vector();

3 private ServerSocket serverSocket;

4 private int MAX_CONNECTIONS = 20;

5

6 public synchronized void send(final String message) {

7Iterator ce = connections.iterator();

8for (Iterator e = writers.iterator(); e.hasNext();) {

9ce.next();

10PrintWriter writer = (PrintWriter) e.next();

11writer.print(message);

12if (writer.checkError()) {

13ce.remove();

14e.remove();

15}

16}

17 }

18 public void run() {

19while (!serverSocket.isClosed()) {

20try {

21Socket newClient = serverSocket.accept();

22PrintWriter pw = new PrintWriter(

23newClient.getOutputStream());

24if (connections.size() < MAX_CONNECTIONS) {

25synchronized (this) {

26connections.addElement(newClient);

27writers.addElement(pw);

28pw.print("TelnetAppender v1.0 ("

29+ connections.size()


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

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

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