I agree, it is a duplicate. I took a look at his code, and Tobias's fix does essentially the same as my fix.
His fix can't be merged easily anymore though, since the affected code has changed since then. My git diff is listed below.

I'll try to issue a pull request for this, maybe it will get accepted.

diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java b/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
index d14aa5b..530f6d4 100644
--- a/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
+++ b/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
@@ -76,12 +76,20 @@ public class SyslogAppender extends SyslogAppenderBase<ILoggingEvent> {
     if(tp == null)
       return;

-
     String stackTracePrefix = stackTraceLayout.doLayout(event);
-
+ boolean topException = true;
     while (tp != null) {
       StackTraceElementProxy[] stepArray = tp.getStackTraceElementProxyArray();
       try {
+ StringBuilder stackTraceHeaderLine = new StringBuilder().append(stackTracePrefix);
+ if (topException) {
+ topException = false;
+ } else {
+ stackTraceHeaderLine = stackTraceHeaderLine.append(CoreConstants.CAUSED_BY);
+ }
+ stackTraceHeaderLine.append(tp.getClassName()).append(": ").append(tp.getMessage());
+ sw.write(stackTraceHeaderLine.toString().getBytes());
+ sw.flush();
         for (StackTraceElementProxy step : stepArray) {
           StringBuilder sb = new StringBuilder();
           sb.append(stackTracePrefix).append(step);
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira