mysql_writer.java

来自「syslog接收ids告警使用sax解析转换为idmef存入数据库」· Java 代码 · 共 33 行

JAVA
33
字号
package logToMySQL;

import java.sql.*;

public class MySQL_Writer {
	static long newLog = 0;
	public void write(MessageSTL sqlMessage) {
		try {
			//加载驱动
			Class.forName("com.mysql.jdbc.Driver").newInstance();
            //建立连接
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/syslog2idmef?user=root&password=password");
            Statement stmt = conn.createStatement();

            StringBuilder str = new StringBuilder();
            for (IDMEF i:IDMEF.values()) {
            	String attrib = sqlMessage.getMessage(i);
                str.append("'"+attrib+"'"+",");
            }
            str.deleteCharAt(str.length()-1);
            int i = stmt.executeUpdate("insert into idmef_message values("+str+");");
            System.out.println(""+newLog+":"+str);
            if (i != 0) newLog +=i;
        } catch (SQLException ex) {
        	System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (Exception ex) {
        	ex.printStackTrace();
        }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?