mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-01-20 09:17:29 +07:00
Changed design slightly to only defer message contents encoding
This commit is contained in:
parent
2c9ca02f27
commit
8bb866d3b3
@ -1,16 +1,21 @@
|
||||
package com.riiablo.logger;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
||||
public class RiiabloEncoder extends SimpleEncoder {
|
||||
private final StringBuilder buffer = new StringBuilder(1024);
|
||||
|
||||
@Override
|
||||
public void encode(LogEvent event, OutputStream out) {
|
||||
encodeMessage(event, out);
|
||||
}
|
||||
|
||||
private void encodeMessage(LogEvent event, OutputStream out) {
|
||||
super.encode(event, out);
|
||||
try {
|
||||
encodeMessage(event, buffer);
|
||||
out.write(buffer.toString().getBytes(US_ASCII));
|
||||
newLine(out);
|
||||
} catch (Throwable t) {
|
||||
ExceptionUtils.rethrow(t);
|
||||
} finally {
|
||||
buffer.setLength(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.logger;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import org.apache.commons.lang3.ClassUtils;
|
||||
@ -15,20 +16,28 @@ public class SimpleEncoder implements Encoder {
|
||||
@Override
|
||||
public void encode(LogEvent event, OutputStream out) {
|
||||
try {
|
||||
buffer.append(StringUtils.rightPad(event.level().name(), 5));
|
||||
buffer.append(' ');
|
||||
buffer.append('[');
|
||||
buffer.append(ClassUtils.getShortClassName(event.source().getClassName()));
|
||||
buffer.append(']');
|
||||
buffer.append(' ');
|
||||
buffer.append(event.message().format());
|
||||
encodeMessage(event, buffer);
|
||||
out.write(buffer.toString().getBytes(US_ASCII));
|
||||
out.write(newLine);
|
||||
out.flush();
|
||||
newLine(out);
|
||||
} catch (Throwable t) {
|
||||
ExceptionUtils.rethrow(t);
|
||||
} finally {
|
||||
buffer.setLength(0);
|
||||
}
|
||||
}
|
||||
|
||||
protected void newLine(OutputStream out) throws IOException {
|
||||
out.write(newLine);
|
||||
out.flush();
|
||||
}
|
||||
|
||||
protected void encodeMessage(LogEvent event, StringBuilder buffer) {
|
||||
buffer.append(StringUtils.rightPad(event.level().name(), 5));
|
||||
buffer.append(' ');
|
||||
buffer.append('[');
|
||||
buffer.append(ClassUtils.getShortClassName(event.source().getClassName()));
|
||||
buffer.append(']');
|
||||
buffer.append(' ');
|
||||
buffer.append(event.message().format());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user