package pl.brightinventions.slf4android;
import org.slf4j.helpers.FormattingTuple;
import org.slf4j.helpers.MessageFormatter;
import java.io.PrintWriter;
import java.io.StringWriter;
public class MessageValueSupplier implements LoggerPatternValueSupplier {
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
@Override
public void append(LogRecord record, StringBuilder builder) {
FormattingTuple formattingTuple = MessageFormatter.arrayFormat(record.getMessage(), record.getParameters());
String message = formattingTuple.getMessage();
Throwable throwable = formattingTuple.getThrowable();
if (throwable != null) {
StringWriter writer = new StringWriter(100);
PrintWriter printWriter = new PrintWriter(writer);
throwable.printStackTrace(printWriter);
printWriter.flush();
printWriter.close();
writer.flush();
message += " " + writer.toString();
}
builder.append(message);
}
}