diff --git a/core/src/com/riiablo/logger/RiiabloEncoder.java b/core/src/com/riiablo/logger/RiiabloEncoder.java index 3bc2cf35..bd8cdf7a 100644 --- a/core/src/com/riiablo/logger/RiiabloEncoder.java +++ b/core/src/com/riiablo/logger/RiiabloEncoder.java @@ -7,12 +7,24 @@ import org.apache.commons.lang3.exception.ExceptionUtils; public class RiiabloEncoder extends SimpleEncoder { private final StringBuilder buffer = new StringBuilder(1024); + private boolean fullMode; + + public boolean isFullMode() { + return fullMode; + } + + public void setFullMode(boolean b) { + this.fullMode = b; + } + @Override public void encode(LogEvent event, OutputStream out) { try { - final OrderedMap mdc = event.mdc(); - encodeMessage(event, buffer); - encodeMDC(mdc, buffer); + if (fullMode) { + encodeFullMode(event, buffer); + } else { + encodeCompactMode(event, buffer); + } out.write(buffer.toString().getBytes(US_ASCII)); newLine(out); } catch (Throwable t) { @@ -22,6 +34,16 @@ public class RiiabloEncoder extends SimpleEncoder { } } + private void encodeFullMode(LogEvent event, StringBuilder buffer) { + final OrderedMap mdc = event.mdc(); + encodeMessage(event, buffer); + encodeMDC(mdc, buffer); + } + + private void encodeCompactMode(LogEvent event, StringBuilder buffer) { + encodeFullMode(event, buffer); + } + private void encodeMDC(OrderedMap mdc, StringBuilder buffer) { if (mdc.isEmpty()) return; buffer.append(' ');