Allowed all logging to be viewed by the interface.

It is just much easier this way.
This commit is contained in:
Markil3
2021-10-09 15:52:34 -06:00
parent 72ccfbc444
commit a92d686ddb
17 changed files with 1087 additions and 138 deletions

View File

@@ -62,4 +62,10 @@ artifacts {
builtBy installDist
}
install(distTar)
}
}
processResources {
filesMatching("**/log4j2.xml") {
expand(rootProject.properties)
}
}

View File

@@ -1,4 +1,4 @@
package edu.regis.universeplayer.addon;
package edu.regis.universeplayer;
import org.apache.logging.log4j.core.*;
import org.apache.logging.log4j.core.appender.AbstractAppender;
@@ -9,7 +9,6 @@ import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/**
* This appender will store all messages sent to it, for the interface link to
@@ -18,25 +17,25 @@ import java.util.stream.Collectors;
* @author William Hubbard
*/
@Plugin(
name = "Socket",
name = "Queue",
category = Core.CATEGORY_NAME,
elementType = Appender.ELEMENT_TYPE)
public class SocketAppender extends AbstractAppender
public class QueueAppender extends AbstractAppender
{
private static final LinkedList<LogEvent> events = new LinkedList<>();
/**
* Builds FileAppender instances.
* Builds QueueAppender instances.
*
* @param <B> The type to build
*/
public static class Builder<B extends Builder<B>> extends AbstractAppender.Builder<B>
implements org.apache.logging.log4j.core.util.Builder<SocketAppender>
implements org.apache.logging.log4j.core.util.Builder<QueueAppender>
{
@Override
public SocketAppender build()
public QueueAppender build()
{
return new SocketAppender(getName(), getFilter(), getOrCreateLayout(), isIgnoreExceptions(), getPropertyArray());
return new QueueAppender(getName(), getFilter(), getOrCreateLayout(), isIgnoreExceptions(), getPropertyArray());
}
}
@@ -46,8 +45,8 @@ public class SocketAppender extends AbstractAppender
return new Builder<B>().asBuilder();
}
public SocketAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
final boolean ignoreExceptions, final Property[] properties)
public QueueAppender(final String name, final Filter filter, final Layout<? extends Serializable> layout,
final boolean ignoreExceptions, final Property[] properties)
{
super(name, filter, layout, ignoreExceptions, properties);
}

View File

@@ -4,6 +4,7 @@
package edu.regis.universeplayer.addon;
import edu.regis.universeplayer.QueueAppender;
import edu.regis.universeplayer.browserCommands.BrowserConstants;
import edu.regis.universeplayer.browserCommands.MessageHandler;
import org.apache.logging.log4j.core.LogEvent;
@@ -57,10 +58,10 @@ public class Main
/*
* Make sure that it is active.
*/
if (SocketAppender.hasLogs())
if (QueueAppender.hasLogs())
{
lastPing = System.currentTimeMillis();
for (LogEvent event : SocketAppender.retrieveLogEvents())
for (LogEvent event : QueueAppender.retrieveLogEvents())
{
this.sendUpdate(event);
}

View File

@@ -2,16 +2,29 @@
<!--
~ Copyright (c) 2021 William Hubbard. All Rights Reserved.
-->
<Configuration status="WARN">
<Configuration packages="edu.regis.universeplayer" status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout pattern="%d%c%L %-5level - %msg%n"/>
</Console>
<File name="File" fileName="addonInter.log" append="false">
<RollingFile name="File" fileName="$LOG_DIR/addonInter.log"
filePattern="$LOG_DIR/addonInter.%i.log.gz"
ignoreExceptions="false">
<PatternLayout>
<Pattern>%d{HH:mm:ss.SSS} - %c.%M(%F:%L) - %-5level - %msg%n</Pattern>
<Pattern>%d{HH:mm:ss.SSS} - %c.%M(%F:%L) - %-5level - %msg%n
</Pattern>
</PatternLayout>
</File>
<Policies>
<OnStartupTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy max="5"/>
</RollingFile>
<Queue name="Queue"/>
<Async name="Async">
<AppenderRef ref="File"/>
<AppenderRef ref="Console"/>
<AppenderRef ref="Queue"/>
</Async>
</Appenders>
<Loggers>
<Root level="debug">