DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37282>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37282

           Summary: SyslogAppender leaks descriptors
           Product: Log4j
           Version: 1.2
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Appender
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


The attached patch for version 1.2.12 fixes two problems in 
org.apache.log4j.net.SyslogAppender.  First, it doesn't close the writer and as 
a result leaks UDP sockets.  Second, when logging an exception, it assumes that 
all lines after the first line start with a \t character.  If this is not the 
case, it removes the first character from the line (or throws an exception if 
the line is empty).

--- SyslogAppender.java.orig    2005-10-25 15:50:35.000000000 -0400
+++ SyslogAppender.java 2005-10-25 15:19:57.000000000 -0400
@@ -121,8 +121,11 @@
  public
  void close() {
    closed = true; 
-    // A SyslogWriter is UDP based and needs no opening. Hence, it
-    // can't be closed. We just unset the variables here.
+    try {
+       if (sqw != null) sqw.close();
+    } catch (Exception e) {
+       // ignore error
+    }
    sqw = null;
  }

@@ -260,7 +263,15 @@
        if(len > 0) {
          sqw.write(s[0]);
          for(int i = 1; i < len; i++) {
-            sqw.write (TAB+s[i].substring(1));
+            if (s[i].length() > 0) {
+               if (s[i].charAt(0) == '\t') {
+                  sqw.write(TAB+s[i].substring(1));
+               } else {
+                   sqw.write(TAB+s[i]);
+               }
+            } else {
+               sqw.write(s[i]);
+            }
          }
        }
      }

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to