Java源码示例:org.apache.logging.log4j.core.layout.SerializedLayout
示例1
@Override
public void append(final LogEvent event) {
try {
final Layout<? extends Serializable> layout = getLayout();
byte[] data;
if (layout != null) {
if (layout instanceof SerializedLayout) {
final byte[] header = layout.getHeader();
final byte[] body = layout.toByteArray(event);
data = new byte[header.length + body.length];
System.arraycopy(header, 0, data, 0, header.length);
System.arraycopy(body, 0, data, header.length, body.length);
} else {
data = layout.toByteArray(event);
}
} else {
data = StringEncoder.toBytes(event.getMessage().getFormattedMessage(), StandardCharsets.UTF_8);
}
manager.send(topic, data);
} catch (final Exception e) {
LOGGER.error("Unable to write to Kafka [{}] for appender [{}].", manager.getName(), getName(), e);
throw new AppenderLoggingException("Unable to write to Kafka in appender: " + e.getMessage(), e);
}
}
示例2
private void tryAppend(final LogEvent event) {
final Layout<? extends Serializable> layout = getLayout();
byte[] data;
if (layout instanceof SerializedLayout) {
final byte[] header = layout.getHeader();
final byte[] body = layout.toByteArray(event);
data = new byte[header.length + body.length];
System.arraycopy(header, 0, data, 0, header.length);
System.arraycopy(body, 0, data, header.length, body.length);
} else {
data = layout.toByteArray(event);
}
manager.send(data);
}
示例3
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}
示例4
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}
示例5
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}
示例6
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}
示例7
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}
示例8
private Builder() {
this.layout = SerializedLayout.createLayout();
this.ignoreExceptions = true;
}