Added support for varying log levels configurable in the server config (see log_level in default.conf)

Error logs now properly print to stderr when possible
Colour-coded logs
Addressed a scenario in which outgoing packet writes could get hung up
Fixed interface incorrect definition message on server startup
This commit is contained in:
Ceikry
2023-03-01 08:01:14 +00:00
committed by Ryan
parent e1faa64af7
commit 88a2f354b4
171 changed files with 723 additions and 475 deletions
@@ -3,13 +3,13 @@ package content.data.tables;
import core.api.StartupListener;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import core.ServerConstants;
import core.tools.SystemLogger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the allotment seed drop table.
@@ -57,11 +57,11 @@ public final class AllotmentSeedDropTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.ASDT_DATA_PATH != null && !new File(ServerConstants.ASDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate ASDT file at " + ServerConstants.ASDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate ASDT file at " + ServerConstants.ASDT_DATA_PATH);
return;
}
parse(ServerConstants.ASDT_DATA_PATH);
logInfo(this.getClass(), "Initialized Allotment Seed Drop Table from " + ServerConstants.ASDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Initialized Allotment Seed Drop Table from " + ServerConstants.ASDT_DATA_PATH);
}
/**
@@ -4,7 +4,7 @@ import core.api.StartupListener;
import core.ServerConstants;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.SystemLogger;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the Chaos Elemental's minor drop table. It is supposed to roll this table alongside its standard major drops on the main table.
@@ -57,11 +57,11 @@ public final class CELEMinorTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.CELEDT_DATA_PATH != null && !new File(ServerConstants.CELEDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate CELEDT file at " + ServerConstants.CELEDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate CELEDT file at " + ServerConstants.CELEDT_DATA_PATH);
return;
}
parse(ServerConstants.CELEDT_DATA_PATH);
logInfo(this.getClass(), "Loaded up Chaos Elemental drop table from " + ServerConstants.CELEDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Loaded up Chaos Elemental drop table from " + ServerConstants.CELEDT_DATA_PATH);
}
/**
@@ -3,13 +3,13 @@ package content.data.tables;
import core.api.StartupListener;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import core.ServerConstants;
import core.tools.SystemLogger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the gem drop table.
@@ -57,11 +57,11 @@ public final class GemDropTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.GDT_DATA_PATH != null && !new File(ServerConstants.GDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate GDT file at " + ServerConstants.GDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate GDT file at " + ServerConstants.GDT_DATA_PATH);
return;
}
parse(ServerConstants.GDT_DATA_PATH);
logInfo(this.getClass(), "Initialized Gem Drop Table from " + ServerConstants.GDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Initialized Gem Drop Table from " + ServerConstants.GDT_DATA_PATH);
}
/**
@@ -3,13 +3,13 @@ package content.data.tables;
import core.api.StartupListener;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import core.ServerConstants;
import core.tools.SystemLogger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the herb drop table.
@@ -57,11 +57,11 @@ public final class HerbDropTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.HDT_DATA_PATH != null && !new File(ServerConstants.HDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate HDT file at " + ServerConstants.HDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate HDT file at " + ServerConstants.HDT_DATA_PATH);
return;
}
parse(ServerConstants.HDT_DATA_PATH);
logInfo(this.getClass(), "Initialized Herb Drop Table from " + ServerConstants.HDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Initialized Herb Drop Table from " + ServerConstants.HDT_DATA_PATH);
}
/**
@@ -2,15 +2,15 @@ package content.data.tables
import core.ServerConstants
import core.api.StartupListener
import core.api.log
import core.api.shouldRemoveNothings
import core.api.utils.WeightBasedTable
import core.api.utils.WeightedItem
import core.game.node.entity.Entity
import core.game.node.entity.player.Player
import core.game.node.item.Item
import core.tools.Log
import core.tools.RandomFunction
import core.tools.SystemLogger.logErr
import core.tools.SystemLogger.logInfo
import org.rs09.consts.Items
import org.w3c.dom.Element
import org.w3c.dom.Node
@@ -26,11 +26,11 @@ import javax.xml.parsers.ParserConfigurationException
class RareDropTable : StartupListener {
override fun startup() {
if (ServerConstants.RDT_DATA_PATH != null && !File(ServerConstants.RDT_DATA_PATH).exists()) {
logErr(this.javaClass, "Can't locate RDT file at " + ServerConstants.RDT_DATA_PATH)
log(this::class.java, Log.ERR, "Can't locate RDT file at " + ServerConstants.RDT_DATA_PATH)
return
}
parse(ServerConstants.RDT_DATA_PATH)
logInfo(this.javaClass, "Initialized Rare Drop Table from " + ServerConstants.RDT_DATA_PATH)
log(this::class.java, Log.FINE, "Initialized Rare Drop Table from " + ServerConstants.RDT_DATA_PATH)
}
companion object {
@@ -3,13 +3,13 @@ package content.data.tables;
import core.api.StartupListener;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import core.ServerConstants;
import core.tools.SystemLogger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the rare seed drop table.
@@ -57,11 +57,11 @@ public final class RareSeedDropTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.RSDT_DATA_PATH != null && !new File(ServerConstants.RSDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate RSDT file at " + ServerConstants.RSDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate RSDT file at " + ServerConstants.RSDT_DATA_PATH);
return;
}
parse(ServerConstants.RSDT_DATA_PATH);
logInfo(this.getClass(), "Initialized Rare Seed Drop Table from " + ServerConstants.RSDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Initialized Rare Seed Drop Table from " + ServerConstants.RSDT_DATA_PATH);
}
/**
@@ -3,13 +3,13 @@ package content.data.tables;
import core.api.StartupListener;
import core.game.node.item.Item;
import core.game.node.item.WeightedChanceItem;
import core.tools.Log;
import core.tools.RandomFunction;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import core.ServerConstants;
import core.tools.SystemLogger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -18,7 +18,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import static core.tools.SystemLogger.logInfo;
import static core.api.ContentAPIKt.log;
/**
* Handles the uncommon seed drop table.
@@ -57,11 +57,11 @@ public final class UncommonSeedDropTable implements StartupListener {
@Override
public void startup() {
if(ServerConstants.USDT_DATA_PATH != null && !new File(ServerConstants.USDT_DATA_PATH).exists()){
SystemLogger.logErr(this.getClass(), "Can't locate USDT file at " + ServerConstants.USDT_DATA_PATH);
log(this.getClass(), Log.ERR, "Can't locate USDT file at " + ServerConstants.USDT_DATA_PATH);
return;
}
parse(ServerConstants.USDT_DATA_PATH);
logInfo(this.getClass(), "Initialized Uncommon Seed Drop Table from " + ServerConstants.USDT_DATA_PATH);
log(this.getClass(), Log.FINE, "Initialized Uncommon Seed Drop Table from " + ServerConstants.USDT_DATA_PATH);
}
/**