📄 syslogwriter.java
字号:
/* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE.txt file. */package org.apache.log4j.helpers;import java.io.Writer;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.DatagramPacket;import java.net.UnknownHostException;import java.net.SocketException;import java.io.IOException;/** SyslogWriter is a wrapper around the java.net.DatagramSocket class so that it behaves like a java.io.Writer. @since 0.7.3*/public class SyslogWriter extends Writer { final int SYSLOG_PORT = 514; static String syslogHost; private InetAddress address; private DatagramSocket ds; public SyslogWriter(String syslogHost) { this.syslogHost = syslogHost; try { this.address = InetAddress.getByName(syslogHost); } catch (UnknownHostException e) { LogLog.error("Could not find " + syslogHost + ". All logging will FAIL.", e); } try { this.ds = new DatagramSocket(); } catch (SocketException e) { e.printStackTrace(); LogLog.error("Could not instantiate DatagramSocket to " + syslogHost + ". All logging will FAIL.", e); } } public void write(char[] buf, int off, int len) throws IOException { this.write(new String(buf, off, len)); } public void write(String string) throws IOException { byte[] bytes = string.getBytes(); DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, SYSLOG_PORT); if(this.ds != null) ds.send(packet); } public void flush() {} public void close() {}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -