error logging and bstats simple pie

This commit is contained in:
alexcrea 2026-03-03 00:21:03 +01:00
parent 3e68af06ea
commit 48f0cab15d
Signed by: alexcrea
GPG key ID: E346CD16413450E3
9 changed files with 37 additions and 9 deletions

View file

@ -22,7 +22,6 @@ import xyz.alexcrea.cuanvil.listener.PrepareAnvilListener
import xyz.alexcrea.cuanvil.update.ModrinthUpdateChecker
import xyz.alexcrea.cuanvil.update.PluginSetDefault
import xyz.alexcrea.cuanvil.update.UpdateHandler
import xyz.alexcrea.cuanvil.util.Metrics
import xyz.alexcrea.cuanvil.util.MetricsUtil
import java.io.File
import java.io.FileReader
@ -118,7 +117,8 @@ open class CustomAnvil : JavaPlugin() {
try {
legacyCheck()
} catch (e: Exception) {
logger.log(Level.SEVERE, "error trying to check for legacy system" , e)
logger.log(Level.SEVERE, "error trying to check for legacy system", e)
MetricsUtil.trackError(e)
if(trySafeStart()) return
}
@ -126,7 +126,8 @@ open class CustomAnvil : JavaPlugin() {
try {
prepareCommand()
} catch (e: Exception) {
logger.log(Level.SEVERE, "error trying to register commands" , e)
logger.log(Level.SEVERE, "error trying to register commands", e)
MetricsUtil.trackError(e)
if(trySafeStart()) return
}
@ -136,6 +137,7 @@ open class CustomAnvil : JavaPlugin() {
throw RuntimeException("Error loading configuration file")
} catch (e: Exception) {
logger.log(Level.SEVERE, "error occurred loading default configuration", e)
MetricsUtil.trackError(e)
if(tryDirtyStart()) return
}
@ -144,6 +146,7 @@ open class CustomAnvil : JavaPlugin() {
DependencyManager.loadDependency()
} catch (e: Exception) {
logger.log(Level.SEVERE, "error loading dependency compatibility", e)
MetricsUtil.trackError(e)
if(tryDirtyStart()) return
}
@ -152,6 +155,7 @@ open class CustomAnvil : JavaPlugin() {
registerListeners()
} catch (e: Exception) {
logger.log(Level.SEVERE, "error registering listeners", e)
MetricsUtil.trackError(e)
if(tryDirtyStart()) return
}
@ -171,7 +175,8 @@ open class CustomAnvil : JavaPlugin() {
try {
loadEnchantmentSystem()
} catch (e: Exception) {
logger.log(Level.SEVERE, "error initializing enchantment ssytem", e)
logger.log(Level.SEVERE, "error initializing enchantment system", e)
MetricsUtil.trackError(e)
tryDirtyStart()
}
}
@ -198,7 +203,10 @@ open class CustomAnvil : JavaPlugin() {
ModrinthUpdateChecker(modrinthPluginID, loader, null)
.setFeatured(featured)
.setOnError { logger.log(Level.WARNING, "error trying to fetch latest update", it) }
.setOnError {
logger.log(Level.WARNING, "error trying to fetch latest update", it)
MetricsUtil.trackError(it)
}
.checkVersion { latestVer: String? ->
CustomAnvil.latestVer = latestVer
if(latestVer == null || version.contains(latestVer)) return@checkVersion

View file

@ -27,6 +27,7 @@ import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil
import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil.componentLore
import xyz.alexcrea.cuanvil.listener.PrepareAnvilListener.Companion.ANVIL_OUTPUT_SLOT
import xyz.alexcrea.cuanvil.util.AnvilUseType
import xyz.alexcrea.cuanvil.util.MetricsUtil.trackError
import java.util.logging.Level
object DependencyManager {
@ -141,6 +142,7 @@ object DependencyManager {
"Error while trying to handle custom anvil supported plugin: ",
e
)
trackError(e)
// Just in case to avoid illegal items
event.inventory.setItem(ANVIL_OUTPUT_SLOT, null)
@ -180,6 +182,7 @@ object DependencyManager {
"Error while trying to handle custom anvil supported plugin: ",
e
)
trackError(e)
// Just in case to avoid illegal items
event.inventory.setItem(ANVIL_OUTPUT_SLOT, null)
@ -233,6 +236,7 @@ object DependencyManager {
"Error while trying to handle custom anvil supported plugin: ",
e
)
trackError(e)
// Just in case to avoid illegal items
event.inventory.setItem(ANVIL_OUTPUT_SLOT, null)
@ -262,6 +266,7 @@ object DependencyManager {
"Error while trying to handle custom anvil supported plugin: ",
e
)
trackError(e)
// Just in case to avoid illegal items
event.inventory.setItem(ANVIL_OUTPUT_SLOT, null)

View file

@ -16,6 +16,7 @@ import org.bukkit.inventory.AnvilInventory
import org.bukkit.inventory.ItemStack
import xyz.alexcrea.cuanvil.listener.PrepareAnvilListener
import xyz.alexcrea.cuanvil.util.AnvilXpUtil
import xyz.alexcrea.cuanvil.util.MetricsUtil.trackError
import java.util.logging.Level
import kotlin.reflect.KClass
@ -38,6 +39,7 @@ class DisenchantmentDependency {
Level.SEVERE, "Could not initialize disenchantment support" +
"please report this bug to the developer", e
)
trackError(e)
}
}

View file

@ -25,7 +25,8 @@ object MetricsUtil {
if(metricType.allowBStats) {
try {
val metric = Metrics(plugin, BSTATS_PLUGIN_ID)
//TODO nms type custom chart
metric.addCustomChart(Metrics.SimplePie("nms_type") { nmsType })
metric.addCustomChart(Metrics.SimplePie("using_alpha") { isAlpha.toString() })
} catch (_: Exception) {}
}