2016-05-13 19:07:35 +02:00
|
|
|
package com.github.games647.colorconsole.sponge;
|
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
import com.github.games647.colorconsole.common.ColorAppender;
|
2016-05-13 19:07:35 +02:00
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
import java.util.Collection;
|
2017-06-02 11:50:31 +02:00
|
|
|
import java.util.Collections;
|
2017-05-21 13:07:40 +02:00
|
|
|
import java.util.stream.Collectors;
|
2016-07-12 09:47:09 +02:00
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
import org.apache.logging.log4j.core.Appender;
|
|
|
|
import org.apache.logging.log4j.core.LogEvent;
|
|
|
|
import org.spongepowered.api.Sponge;
|
2017-09-23 13:55:42 +02:00
|
|
|
import org.spongepowered.api.plugin.PluginContainer;
|
2016-05-13 19:07:35 +02:00
|
|
|
|
2018-07-29 18:33:21 +02:00
|
|
|
import static java.util.stream.Collectors.toSet;
|
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
public class ColorPluginAppender extends ColorAppender {
|
2016-05-13 19:07:35 +02:00
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
public ColorPluginAppender(Appender oldAppender, ColorConsoleConfig config) {
|
2017-06-02 11:50:31 +02:00
|
|
|
super(oldAppender, config.getHideMessages(), config.isColorPluginTag(), config.isTruncateColor()
|
|
|
|
, config.isColorMessage() ? config.getLevelColors() : Collections.emptyMap());
|
2016-05-13 19:07:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2017-05-21 13:07:40 +02:00
|
|
|
public LogEvent onAppend(LogEvent logEvent) {
|
|
|
|
String newLoggerName = formatter.colorizePluginName(logEvent.getLoggerName());
|
|
|
|
return clone(logEvent, newLoggerName, logEvent.getMessage());
|
2016-05-13 19:07:35 +02:00
|
|
|
}
|
|
|
|
|
2017-05-21 13:07:40 +02:00
|
|
|
@Override
|
|
|
|
protected Collection<String> loadPluginNames() {
|
|
|
|
return Sponge.getPluginManager().getPlugins().stream()
|
2017-09-23 13:55:42 +02:00
|
|
|
.map(PluginContainer::getId)
|
2018-07-29 18:33:21 +02:00
|
|
|
.collect(toSet());
|
2016-05-13 19:07:35 +02:00
|
|
|
}
|
|
|
|
}
|