sysloglistener.java
来自「syslog接收ids告警使用sax解析转换为idmef存入数据库」· Java 代码 · 共 47 行
JAVA
47 行
package logToMySQL;
import java.net.*;
import java.text.DateFormat;
import java.util.*;
public class SyslogListener {
final static LogReader curr = new LogReader();
public static void main(String[] argv) {
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
DatagramSocket ds = null;
DatagramPacket dp = null;
byte[] buf = new byte[1024];
String log;
InetAddress addr = null;
LogConfigure.loadConfig();
System.out.println(getTime());
if (LogReader.existConfig)
try {
addr = Inet4Address.getByName("192.168.65.1");
ds = new DatagramSocket(514,addr);
dp = new DatagramPacket(buf,1000);
System.out.println("Listening......");
while(true) {
ds.receive(dp);
log = new String(Arrays.copyOf(buf, dp.getLength()));
log = getTime() + log;
curr.processNewLog(log);
System.out.println(log);
}
}catch(BindException e){
System.out.println("Error:An error occurred while attempting to bind a socket to a local address and port.");
System.out.println("Another instance may be in running.");
}
catch (Exception e) {
e.printStackTrace();
}
}
public static String getTime() {
return DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.MEDIUM,Locale.ENGLISH).format(new Date())+" ";
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?