Registro de Mensajes en el Servidor de Hytale

Hytale: Guías, Mods, Opiniones | Videojuegos en CIBERED

En esta guía aprenderás a registrar mensajes en el servidor usando la clase HytaleLogger de Hytale, controlando niveles de log, mensajes con formato y excepciones.

Explorando el Código de HytaleServer.jar

Introducción a HytaleLogger

Una manera de registrar mensajes es usando la propia clase de Hytale: HytaleLogger. Esta clase extiende com.google.common.flogger.AbstractLogger.

Los logs aparecerán en el mismo archivo de log del servidor, ubicado en:

{carpeta de instalación de Hytale}/UserData/Saves/{World}/logs

Crear un Logger

Puedes crear un logger con un nombre para identificarlo fácilmente:

HytaleLogger logger = HytaleLogger.get("MiLogger");

El nombre se mostrará antes de cada mensaje en el archivo de logs.

También puedes usar .forEnclosingClass() para obtener automáticamente un logger para la clase actual, sin tener que cambiar el nombre manualmente:

HytaleLogger logger = HytaleLogger.forEnclosingClass();

Ejemplo Básico de Uso

Crear un logger como atributo estático en la clase principal del plugin:

import com.hypixel.hytale.logger.HytaleLogger;

public class ExamplePlugin extends JavaPlugin {

  public static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();

  @Override
  protected void setup() {
    LOGGER.atInfo().log("Mi plugin de ejemplo se ha cargado");
  }
}

Luego, puedes usar el logger en cualquier parte del plugin:

ExamplePlugin.LOGGER.atInfo().log("Hola mundo");

Niveles de Log

Todos los mensajes tienen un nivel asociado, lo que permite categorizar y controlar cómo se registran.

Por defecto, los niveles que se imprimen son Info, Warn y Severe.

LOGGER.atInfo().log("Información general sobre el comportamiento normal.");
LOGGER.atWarning().log("Indica un problema potencial o situación que podría causar un error.");
LOGGER.atSevere().log("Error grave que impedirá el funcionamiento esperado.");

Argumentos con Plantilla (Template Arguments)

HytaleLogger soporta estilo printf, permitiendo incluir variables en los mensajes:

final String name = "World";
LOGGER.atInfo().log("Hola %s", name);
// Imprime: Hola World

Algunos especificadores comunes:

  • %s → String
  • %d → Entero
  • %f → Float/Double
  • %b → Boolean
  • %c → Carácter

Registrar Excepciones y Stack Traces

Si deseas incluir una excepción o el stack trace en el log, puedes establecer la causa:

try {
    // código que puede lanzar IOException
} catch (IOException e) {
    LOGGER.atSevere().withCause(e).log("¡Error al procesar!");
}

Esto imprimirá el mensaje junto con la información completa de la excepción en los logs del servidor.


Conclusión

HytaleLogger te permite mantener un registro claro, categorizado y profesional de lo que ocurre en tu servidor o plugin, incluyendo errores, advertencias y mensajes informativos con soporte para variables y excepciones.