36 lines
1.2 KiB
Java
36 lines
1.2 KiB
Java
package com.github.games647.colorconsole.sponge;
|
|
|
|
import com.github.games647.colorconsole.common.ColorAppender;
|
|
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
import java.util.stream.Collectors;
|
|
|
|
import org.apache.logging.log4j.core.Appender;
|
|
import org.apache.logging.log4j.core.LogEvent;
|
|
import org.spongepowered.api.Sponge;
|
|
import org.spongepowered.api.plugin.PluginContainer;
|
|
|
|
import static java.util.stream.Collectors.toSet;
|
|
|
|
public class ColorPluginAppender extends ColorAppender {
|
|
|
|
public ColorPluginAppender(Appender oldAppender, ColorConsoleConfig config) {
|
|
super(oldAppender, config.getHideMessages(), config.isColorPluginTag(), config.isTruncateColor()
|
|
, config.isColorMessage() ? config.getLevelColors() : Collections.emptyMap());
|
|
}
|
|
|
|
@Override
|
|
public LogEvent onAppend(LogEvent logEvent) {
|
|
String newLoggerName = formatter.colorizePluginName(logEvent.getLoggerName());
|
|
return clone(logEvent, newLoggerName, logEvent.getMessage());
|
|
}
|
|
|
|
@Override
|
|
protected Collection<String> loadPluginNames() {
|
|
return Sponge.getPluginManager().getPlugins().stream()
|
|
.map(PluginContainer::getId)
|
|
.collect(toSet());
|
|
}
|
|
}
|