Uploaded image for project: 'logback'
  1. logback
  2. LOGBACK-784

SyslogAppender atomic stacktrace writing

    XMLWordPrintable

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.0.9
    • logback-classic
    • None

    Description

      I'd like to have a central syslog-ng receive logs from several servers and consolidate all into one log file. As Logback's SyslogAppender flushes the socket after each StrackTrace element, it may happen that stacktraces lines from different servers mix, which I'd like to prevent.
      There should be an option to write the complete stacktrace in one flush ("atomicStackTraces").
      I changed SyslogAppender.postProcess() to

      StringBuilder sb = new StringBuilder();
      for (StackTraceElementProxy step : stepArray) {
      sb.append(stackTracePrefix).append(step).append('\n');
      }
      sw.write(sb.toString().getBytes());
      sw.flush();

      This results in atomic writing of stacktraces. If atomicStackTraces == true SyslogAppender should use the code above.

      Attachments

        Activity

          People

            logback-dev Logback dev list
            weberjn Juergen Weber
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: