mirror of
https://github.com/Melledy/Grasscutter.git
synced 2025-02-05 10:18:51 +00:00
parent
9125bacfce
commit
92f1a93ba2
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -16,6 +16,11 @@
|
|||||||
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss'Z'} <%level:%class> %m%n</pattern>
|
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss'Z'} <%level:%class> %m%n</pattern>
|
||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
<appender name="SERVEREVENT" class="emu.grasscutter.utils.ServerLogEventAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{HH:mm:ss} <%highlight(%level):%gray(%class{0})> %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
<logger name="org.reflections" level="OFF" />
|
<logger name="org.reflections" level="OFF" />
|
||||||
<logger name="emu.grasscutter" level="${LOG_LEVEL}" />
|
<logger name="emu.grasscutter" level="${LOG_LEVEL}" />
|
||||||
@ -23,5 +28,6 @@
|
|||||||
<root level="INFO">
|
<root level="INFO">
|
||||||
<appender-ref ref="STDOUT" />
|
<appender-ref ref="STDOUT" />
|
||||||
<appender-ref ref="FILE" />
|
<appender-ref ref="FILE" />
|
||||||
|
<appender-ref ref="SERVEREVENT" />
|
||||||
</root>
|
</root>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
Loading…
Reference in New Issue
Block a user