mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-09 23:38:15 +07:00
Implemented API for controlling full vs compact encoder modes
This commit is contained in:
@ -7,12 +7,24 @@ import org.apache.commons.lang3.exception.ExceptionUtils;
|
|||||||
public class RiiabloEncoder extends SimpleEncoder {
|
public class RiiabloEncoder extends SimpleEncoder {
|
||||||
private final StringBuilder buffer = new StringBuilder(1024);
|
private final StringBuilder buffer = new StringBuilder(1024);
|
||||||
|
|
||||||
|
private boolean fullMode;
|
||||||
|
|
||||||
|
public boolean isFullMode() {
|
||||||
|
return fullMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFullMode(boolean b) {
|
||||||
|
this.fullMode = b;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void encode(LogEvent event, OutputStream out) {
|
public void encode(LogEvent event, OutputStream out) {
|
||||||
try {
|
try {
|
||||||
final OrderedMap<String, String> mdc = event.mdc();
|
if (fullMode) {
|
||||||
encodeMessage(event, buffer);
|
encodeFullMode(event, buffer);
|
||||||
encodeMDC(mdc, buffer);
|
} else {
|
||||||
|
encodeCompactMode(event, buffer);
|
||||||
|
}
|
||||||
out.write(buffer.toString().getBytes(US_ASCII));
|
out.write(buffer.toString().getBytes(US_ASCII));
|
||||||
newLine(out);
|
newLine(out);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
@ -22,6 +34,16 @@ public class RiiabloEncoder extends SimpleEncoder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void encodeFullMode(LogEvent event, StringBuilder buffer) {
|
||||||
|
final OrderedMap<String, String> mdc = event.mdc();
|
||||||
|
encodeMessage(event, buffer);
|
||||||
|
encodeMDC(mdc, buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void encodeCompactMode(LogEvent event, StringBuilder buffer) {
|
||||||
|
encodeFullMode(event, buffer);
|
||||||
|
}
|
||||||
|
|
||||||
private void encodeMDC(OrderedMap<String, String> mdc, StringBuilder buffer) {
|
private void encodeMDC(OrderedMap<String, String> mdc, StringBuilder buffer) {
|
||||||
if (mdc.isEmpty()) return;
|
if (mdc.isEmpty()) return;
|
||||||
buffer.append(' ');
|
buffer.append(' ');
|
||||||
|
Reference in New Issue
Block a user