mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-15 16:34:56 +01:00
@@ -0,0 +1,22 @@
|
||||
package emu.grasscutter.server.event.internal;
|
||||
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import emu.grasscutter.server.event.types.ServerEvent;
|
||||
|
||||
public class ServerLogEvent extends ServerEvent {
|
||||
ILoggingEvent loggingEvent;
|
||||
String consoleMessage;
|
||||
|
||||
public ServerLogEvent(Type type, ILoggingEvent loggingEvent, String consoleMessage) {
|
||||
super(type);
|
||||
this.loggingEvent = loggingEvent;
|
||||
this.consoleMessage = consoleMessage;
|
||||
}
|
||||
|
||||
public ILoggingEvent getLoggingEvent() { return loggingEvent; }
|
||||
|
||||
public String getConsoleMessage() {
|
||||
return consoleMessage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package emu.grasscutter.utils;
|
||||
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
import ch.qos.logback.core.encoder.Encoder;
|
||||
import ch.qos.logback.core.spi.DeferredProcessingAware;
|
||||
import ch.qos.logback.core.status.ErrorStatus;
|
||||
import emu.grasscutter.server.event.internal.ServerLogEvent;
|
||||
import emu.grasscutter.server.event.types.ServerEvent;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class ServerLogEventAppender<E> extends AppenderBase<E> {
|
||||
protected Encoder<E> encoder;
|
||||
|
||||
@Override
|
||||
protected void append(E event) {
|
||||
byte[] byteArray = this.encoder.encode(event);
|
||||
ServerLogEvent sle = new ServerLogEvent(ServerEvent.Type.GAME, (ILoggingEvent) event, new String(byteArray, StandardCharsets.UTF_8));
|
||||
sle.call();
|
||||
}
|
||||
|
||||
public Encoder<E> getEncoder() {
|
||||
return encoder;
|
||||
}
|
||||
|
||||
public void setEncoder(Encoder<E> encoder) {
|
||||
this.encoder = encoder;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user