mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-13 22:12:37 +08:00
26 lines
713 B
Java
26 lines
713 B
Java
package emu.grasscutter.utils.objects;
|
|
|
|
import ch.qos.logback.classic.spi.ILoggingEvent;
|
|
import ch.qos.logback.core.AppenderBase;
|
|
import ch.qos.logback.core.encoder.Encoder;
|
|
import emu.grasscutter.server.event.internal.ServerLogEvent;
|
|
import lombok.Getter;
|
|
import lombok.Setter;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
@Setter
|
|
@Getter
|
|
public final class ServerLogEventAppender<E> extends AppenderBase<E> {
|
|
private Encoder<E> encoder;
|
|
|
|
@Override
|
|
protected void append(E event) {
|
|
byte[] byteArray = this.encoder.encode(event);
|
|
ServerLogEvent sle =
|
|
new ServerLogEvent((ILoggingEvent) event, new String(byteArray, StandardCharsets.UTF_8));
|
|
sle.call();
|
|
}
|
|
|
|
}
|