Do not override content if it's not starting with an plugin name

This commit is contained in:
games647 2017-06-30 17:22:06 +02:00
parent 6eeb94a5c2
commit acd9da4cd2
No known key found for this signature in database
GPG Key ID: BFC68C8708713A88
5 changed files with 31 additions and 17 deletions

View File

@ -134,7 +134,7 @@
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId> <artifactId>spigot-api</artifactId>
<version>1.12-pre2-SNAPSHOT</version> <version>1.12-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
@ -149,7 +149,7 @@
<dependency> <dependency>
<groupId>org.spongepowered</groupId> <groupId>org.spongepowered</groupId>
<artifactId>spongeapi</artifactId> <artifactId>spongeapi</artifactId>
<version>6.1.0-20170502.022019-1</version> <version>7.0.0-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>

View File

@ -70,12 +70,11 @@ public class ColorConsoleBukkit extends JavaPlugin {
Appender terminalAppender = CommonLogInstaller.getTerminalAppender(TERMINAL_NAME); Appender terminalAppender = CommonLogInstaller.getTerminalAppender(TERMINAL_NAME);
oldLayout = terminalAppender.getLayout(); oldLayout = terminalAppender.getLayout();
String logFormat = oldLayout.toString(); String logFormat = getConfig().getString("logFormat");
if (oldLayout.toString().contains("%minecraftFormatting")) { if (oldLayout.toString().contains("minecraftFormatting")) {
logFormat.replace("%msg", "%minecraftFormatting{%msg}"); logFormat = logFormat.replace("%msg", "%minecraftFormatting{%msg}");
} }
logFormat = "[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx";
if (getConfig().getBoolean("colorLoggingLevel")) { if (getConfig().getBoolean("colorLoggingLevel")) {
logFormat = logFormat.replace("%level", "%highlight{%level}{" logFormat = logFormat.replace("%level", "%highlight{%level}{"
+ "FATAL=" + getConfig().getString("FATAL") + ", " + "FATAL=" + getConfig().getString("FATAL") + ", "

View File

@ -98,6 +98,10 @@ public class CommonFormatter {
} }
} }
if (!newMessage.startsWith("[")) {
return levelColors.getOrDefault(level, "") + message + reset;
}
int startTag = newMessage.indexOf('[') + 1; int startTag = newMessage.indexOf('[') + 1;
int endTag = newMessage.indexOf(']', startTag); int endTag = newMessage.indexOf(']', startTag);

View File

@ -1,7 +1,10 @@
package com.github.games647.colorconsole.sponge; package com.github.games647.colorconsole.sponge;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -17,7 +20,7 @@ public class ColorConsoleConfig {
this.levelColors.put("FATAL", "red blink"); this.levelColors.put("FATAL", "red blink");
this.levelColors.put("ERROR", "red"); this.levelColors.put("ERROR", "red");
this.levelColors.put("WARN", "yellow bold"); this.levelColors.put("WARN", "yellow bold");
this.levelColors.put("INFO", "default"); this.levelColors.put("INFO", "green");
this.levelColors.put("DEBUG", "green bold"); this.levelColors.put("DEBUG", "green bold");
this.levelColors.put("TRACE", "blue"); this.levelColors.put("TRACE", "blue");
} }
@ -45,7 +48,7 @@ public class ColorConsoleConfig {
+ "%line - Line number\n" + "%line - Line number\n"
+ "\n" + "\n"
+ "For more details vist: https://logging.apache.org/log4j/2.x/manual/layouts.html#Patterns") + "For more details vist: https://logging.apache.org/log4j/2.x/manual/layouts.html#Patterns")
private String logFormat = "[%d{HH:mm:ss}] [%level] [%logger]: %msg%n"; private String logFormat = "[%d{HH:mm:ss} %level] [%logger{1}]: %msg%n";
@Setting(comment = "Log Level Colors") @Setting(comment = "Log Level Colors")
private Map<String, String> levelColors; private Map<String, String> levelColors;
@ -59,11 +62,11 @@ public class ColorConsoleConfig {
@Setting(comment = "How should the time be highlighted\n" + @Setting(comment = "How should the time be highlighted\n" +
"Like below it could also be default which means it's the default font color depending on " + "Like below it could also be default which means it's the default font color depending on " +
"your terminal settings.") "your terminal settings.")
private String dateStyle; private String dateStyle = "cyan";
@Setting(comment = "Hides the log message if it contains one or more of the following texts\n" @Setting(comment = "Hides the log message if it contains one or more of the following texts\n"
+ "The texts are case-sensitive") + "The texts are case-sensitive")
private Set<String> hideMessages; private List<String> hideMessages = Lists.newArrayList();
@Setting(comment = "Removes color formatting if the complete message has color formatting") @Setting(comment = "Removes color formatting if the complete message has color formatting")
private boolean truncateColor; private boolean truncateColor;
@ -98,7 +101,7 @@ public class ColorConsoleConfig {
} }
public Set<String> getHideMessages() { public Set<String> getHideMessages() {
return hideMessages; return ImmutableSet.copyOf(hideMessages);
} }
public String getDateStyle() { public String getDateStyle() {

View File

@ -4,6 +4,7 @@ import com.github.games647.colorconsole.common.CommonLogInstaller;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable;
import java.nio.file.Path; import java.nio.file.Path;
import ninja.leaping.configurate.commented.CommentedConfigurationNode; import ninja.leaping.configurate.commented.CommentedConfigurationNode;
@ -11,8 +12,8 @@ import ninja.leaping.configurate.hocon.HoconConfigurationLoader;
import ninja.leaping.configurate.loader.ConfigurationLoader; import ninja.leaping.configurate.loader.ConfigurationLoader;
import ninja.leaping.configurate.objectmapping.ObjectMapper; import ninja.leaping.configurate.objectmapping.ObjectMapper;
import ninja.leaping.configurate.objectmapping.ObjectMappingException; import ninja.leaping.configurate.objectmapping.ObjectMappingException;
import org.apache.logging.log4j.core.Appender; import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.layout.PatternLayout; import org.apache.logging.log4j.core.layout.PatternLayout;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.spongepowered.api.config.DefaultConfig; import org.spongepowered.api.config.DefaultConfig;
@ -20,12 +21,14 @@ import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GamePreInitializationEvent; import org.spongepowered.api.event.game.state.GamePreInitializationEvent;
import org.spongepowered.api.plugin.Plugin; import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "colorconsole", name = "ColorConsole", version = "2.2" @Plugin(id = "colorconsole", name = "ColorConsole", version = "2.3"
, url = "https://github.com/games647/ColorConsole/" , url = "https://github.com/games647/ColorConsole/"
, description = "Print colorful console messages depending on the logging level") , description = "Print colorful console messages depending on the logging level")
public class ColorConsoleSponge { public class ColorConsoleSponge {
private static String TERMINAL_NAME = "FmlConsole"; // private static String TERMINAL_NAME = "FmlConsole";
// private static String TERMINAL_NAME = "Console";
private static String TERMINAL_NAME = "MinecraftConsole";
private final Logger logger; private final Logger logger;
@ -72,13 +75,17 @@ public class ColorConsoleSponge {
} }
installLogFormat(); installLogFormat();
logger.warn("Test");
} }
private void installLogFormat() { private void installLogFormat() {
Appender terminalAppender = CommonLogInstaller.getTerminalAppender(TERMINAL_NAME); Appender terminalAppender = CommonLogInstaller.getTerminalAppender(TERMINAL_NAME);
Layout<? extends Serializable> oldLayout = terminalAppender.getLayout();
String logFormat = configMapper.getInstance().getLogFormat(); String logFormat = configMapper.getInstance().getLogFormat();
if (oldLayout.toString().contains("%minecraftFormatting")) {
logFormat = logFormat.replace("%msg", "%minecraftFormatting{%msg}");
}
if (configMapper.getInstance().isColorLoggingLevel()) { if (configMapper.getInstance().isColorLoggingLevel()) {
logFormat = logFormat.replace("%level", "%highlight{%level}{" logFormat = logFormat.replace("%level", "%highlight{%level}{"
+ "FATAL=" + configMapper.getInstance().getLevelColors().get("FATAL") + ", " + "FATAL=" + configMapper.getInstance().getLevelColors().get("FATAL") + ", "
@ -90,7 +97,7 @@ public class ColorConsoleSponge {
} }
String dateStyle = configMapper.getInstance().getDateStyle(); String dateStyle = configMapper.getInstance().getDateStyle();
logFormat = logFormat.replaceFirst("(%d)\\{.{1,}\\}", "%style{$0}{" + dateStyle + "}"); logFormat = logFormat.replace("%d{HH:mm:ss}", "%style{" + "%d{HH:mm:ss}" + "}{" + dateStyle + "}");
try { try {
PatternLayout layout = CommonLogInstaller.createLayout(logFormat); PatternLayout layout = CommonLogInstaller.createLayout(logFormat);
@ -103,5 +110,6 @@ public class ColorConsoleSponge {
pluginAppender.initPluginColors(getConfig().getPluginColors(), getConfig().getDefaultPluginColor()); pluginAppender.initPluginColors(getConfig().getPluginColors(), getConfig().getDefaultPluginColor());
CommonLogInstaller.installAppender(pluginAppender, TERMINAL_NAME); CommonLogInstaller.installAppender(pluginAppender, TERMINAL_NAME);
CommonLogInstaller.installAppender(pluginAppender, "Console");
} }
} }