public synchronized LogEvent log(LogEvent ev) { if (socket != null && ev.getTag() != null && tags.contains(ev.getTag())) { int facility = cfg.getInt(ev.getTag() + ".facility", defaultFacility); int severity = cfg.getInt(ev.getTag() + ".severity", defaultSeverity); int priority = (facility << 3) | severity; StringBuilder sb = new StringBuilder(); sb.append('<'); sb.append(Integer.toString(priority)); sb.append('>'); if (prefix != null) { sb.append(prefix); sb.append(' '); } sb.append(ev.getRealm()); sb.append(' '); sb.append(ev.getTag()); sb.append(" - "); synchronized (ev.getPayLoad()) { Iterator iter = ev.getPayLoad().iterator(); for (int i = 0; iter.hasNext(); i++) { if (i > 0) sb.append(' '); sb.append(iter.next().toString()); } } byte[] b = sb.toString().getBytes(); DatagramPacket packet = new DatagramPacket(b, Math.min(b.length, 1024), host, port); try { socket.send(packet); } catch (IOException e) { ev.addMessage("--- SysLogListener error ---"); ev.addMessage(e); } } return ev; }