Skip to content

Commit

Permalink
Redirect Syste.out/System.err to logger
Browse files Browse the repository at this point in the history
  • Loading branch information
Brokkonaut committed Jul 2, 2020
1 parent 290fc4e commit c14ae96
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
5 changes: 5 additions & 0 deletions pom.xml
Expand Up @@ -29,6 +29,11 @@
<artifactId>log4j-jul</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-iostreams</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/de/cubeside/globalserver/GlobalServer.java
Expand Up @@ -19,6 +19,7 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
Expand All @@ -28,15 +29,21 @@
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.io.IoBuilder;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;

public class GlobalServer {
static {
System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");
PrintStream logger = IoBuilder.forLogger("System.out").setLevel(Level.INFO).buildPrintStream();
PrintStream errorLogger = IoBuilder.forLogger("System.err").setLevel(Level.ERROR).buildPrintStream();
System.setOut(logger);
System.setErr(errorLogger);
}
public final static Logger LOGGER = LogManager.getLogger("Server");

Expand Down
6 changes: 5 additions & 1 deletion src/main/java/de/cubeside/globalserver/JLineAppender.java
@@ -1,5 +1,6 @@
package de.cubeside.globalserver;

import java.io.PrintStream;
import java.io.Serializable;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Core;
Expand All @@ -15,8 +16,11 @@

@Plugin(name = "JLineAppender", category = Core.CATEGORY_NAME, elementType = Appender.ELEMENT_TYPE)
public class JLineAppender extends AbstractAppender {
private PrintStream realSystemOut;

protected JLineAppender(String name, Filter filter, Layout<? extends Serializable> layout) {
super(name, filter, layout, true, Property.EMPTY_ARRAY);
realSystemOut = System.out;
}

@PluginFactory
Expand All @@ -31,7 +35,7 @@ public void append(LogEvent event) {
if (console != null) {
console.appendOutput(message);
} else {
System.out.print(message);
realSystemOut.print(message);
}
}
}

0 comments on commit c14ae96

Please sign in to comment.