Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
1.0.9
-
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.