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;
}