예제 #1
0
 public synchronized LogEvent log(LogEvent ev) {
   org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ev.getRealm());
   if (logger.isEnabledFor(_level)) {
     ByteArrayOutputStream w = new ByteArrayOutputStream();
     PrintStream p = new PrintStream(w);
     ev.dump(p, "");
     logger.log(_level, w.toString());
   }
   return ev;
 }
 public synchronized LogEvent log(LogEvent ev) {
   if (p != null) {
     if (permitLogging(ev.tag)) {
       Date d = new Date();
       p.println(
           "<log realm=\""
               + ev.getRealm()
               + "\" at=\""
               + d.toString()
               + "."
               + d.getTime() % 1000
               + "\">");
       ev.dump(p, "  ");
       p.println("</log>");
       p.flush();
     }
   }
   return ev;
 }
예제 #3
0
  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;
  }