Registro de mensajes del servidor (Amazon GameLift ServersRealtime) - Amazon GameLift Servers

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de mensajes del servidor (Amazon GameLift ServersRealtime)

Puede capturar mensajes de servidor personalizados a partir de sus Amazon GameLift Servers Realtime archivos de registro. Para obtener más información sobre el registro en servidores personalizados, consulte Registro de mensajes del servidor (servidores personalizados).

Existen distintos tipos de mensajes que puede enviar a sus archivos de registro (consulte Registro de los mensajes en el script del servidor). Además de los mensajes personalizados, los mensajes del sistema Amazon GameLift Servers Realtime de salida utilizan los mismos tipos de mensajes y los escriben en los mismos archivos de registro. Puede ajustar el nivel de registro de su flota para reducir la cantidad de mensajes de registro que generan sus servidores (consulte Ajuste del nivel de registro).

importante

El tamaño de un archivo de registro por sesión de juego está limitado (consulta los Amazon GameLift Serverspuntos finales y las cuotas en la Referencia general de AWS). Cuando finaliza una sesión de juego, Amazon GameLift Servers carga los registros del servidor en Amazon Simple Storage Service (Amazon S3). Amazon GameLift Serversno cargará registros que superen el límite. Los registros pueden crecer muy rápido y superar el límite de tamaño. Debe supervisar los registros y limitar el resultado del registro a los mensajes necesarios únicamente.

Registro de los mensajes en el script del servidor

Puede generar mensajes personalizados en el script de su Amazon GameLift ServersRealtime. Siga estos pasos para enviar mensajes del servidor a un archivo de registro:

  1. Cree una variable para retener la referencia en el objeto del registrador.

    var logger;
  2. En la función init(), obtenga el registrador del objeto de sesión y asígnelo a la variable del registrador.

    function init(rtSession) { session = rtSession; logger = session.getLogger(); }
  3. Llame a la función apropiada del registrador para generar un mensaje.

    Mensajes de depuración

    logger.debug("This is my debug message...");

    Mensajes informativos

    logger.info("This is my info message...");

    Mensajes de advertencia

    logger.warn("This is my warn message...");

    Mensajes de error

    logger.error("This is my error message...");

    Mensajes de error grave

    logger.fatal("This is my fatal error message...");

    Mensajes de error grave en la experiencia del cliente

    logger.cxfatal("This is my customer experience fatal error message...");

Para ver un ejemplo de las instrucciones de registro en un script, consulte Amazon GameLift ServersRealtimeejemplo de guion.

El resultado de los archivos de registro indica el tipo de mensaje (DEBUG, INFO, WARN, ERROR, FATAL y CXFATAL), como se muestra en las siguientes líneas de un registro de ejemplo:

09 Sep 2021 11:46:32,970 [INFO] (gamelift.js) 215: Calling GameLiftServerAPI.InitSDK...
09 Sep 2021 11:46:32,993 [INFO] (gamelift.js) 220: GameLiftServerAPI.InitSDK succeeded
09 Sep 2021 11:46:32,993 [INFO] (gamelift.js) 223: Waiting for Realtime server to start...
09 Sep 2021 11:46:33,15 [WARN] (index.js) 204: Connection is INSECURE. Messages will be sent/received as plaintext.

Acceso a los registros del servidor

Cuando finaliza una sesión de juego, almacena Amazon GameLift Servers automáticamente los registros en Amazon S3 y los conserva durante 14 días. Puede utilizar la llamada a la GetGameSessionLogUrl API para obtener la ubicación de los registros de una sesión de juego. Utilice la URL devuelta por la llamada a la API para descargar los registros.

Ajuste del nivel de registro

Los registros pueden crecer muy rápido y superar el límite de tamaño. Debe supervisar los registros y limitar el resultado del registro a los mensajes necesarios únicamente. Por Amazon GameLift Servers Realtime ejemplo, puedes ajustar el nivel de registro proporcionando un parámetro en la configuración del tiempo de ejecución de tu flota en el formulariologgingLevel:LOGGING_LEVEL, donde LOGGING_LEVEL aparezca uno de los siguientes valores:

  1. debug

  2. info (predeterminado)

  3. warn

  4. error

  5. fatal

  6. cxfatal

Esta lista está ordenada de menos grave (debug) a más grave (cxfatal). Si establece un parámetro loggingLevel único, el servidor solo registrará los mensajes con ese nivel de gravedad o uno superior. Por ejemplo, si se establece loggingLevel:error, todo los servidores de su flota solo escribirán mensajes error, fatal y cxfatal en el registro.

Puede establecer el nivel de registro de flota al crearlo o una vez que esté en ejecución. Si cambia el nivel de registro de la flota después de que esté en ejecución, solo se verán afectados los registros de las sesiones de juego creadas después de la actualización. Los registros de las sesiones de juego existentes no se verán afectados. Si no establece un nivel de registro al crear la flota, los servidores establecerán el nivel de registro en info de forma predeterminada. Consulte las siguientes secciones para obtener instrucciones sobre cómo configurar el nivel de registro.

Configurar el nivel de registro al crear una Amazon GameLift ServersRealtime flota (consola)

Siga las instrucciones que aparecen en Cree una EC2 flota Amazon GameLift Servers gestionada para crear su flota y añada lo siguiente:

  • En el subpaso Asignación de los procesos del servidor del paso de Administración de procesos, proporcione el par clave-valor del nivel de registro (por ejemplo, loggingLevel:error) como valor para Parámetros de lanzamiento. Utilice un carácter no alfanumérico (excepto coma) para separar el nivel de registro de cualquier parámetro adicional (por ejemplo, loggingLevel:error +map Winter444).

Establecer el nivel de registro al crear una Amazon GameLift ServersRealtime flota (AWS CLI)

Siga las instrucciones que aparecen en Cree una EC2 flota Amazon GameLift Servers gestionada para crear su flota y añada lo siguiente:

  • En el argumento del parámetro --runtime-configuration para create-fleet, proporcione el par clave-valor del nivel de registro (por ejemplo, loggingLevel:error) como valor para Parameters. Utilice un carácter no alfanumérico (excepto coma) para separar el nivel de registro de cualquier parámetro adicional. Vea el siguiente ejemplo:

--runtime-configuration "GameSessionActivationTimeoutSeconds=60, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=/local/game/myRealtimeLaunchScript.js, Parameters=loggingLevel:error +map Winter444, ConcurrentExecutions=10}]"
Configuración del nivel de registro para una Amazon GameLift ServersRealtime flota en funcionamiento (consola)

Sigue las instrucciones que aparecen en Actualizar una configuración Amazon GameLift Servers de flota para actualizar tu flota mediante la Amazon GameLift Servers consola y añade lo siguiente:

  • En la página Editar flota, en Asignación de los procesos del servidor, proporcione el par clave-valor del nivel de registro (por ejemplologgingLevel:error) como valor para los parámetros de lanzamiento. Utilice un carácter no alfanumérico (excepto coma) para separar el nivel de registro de cualquier parámetro adicional (por ejemplo, loggingLevel:error +map Winter444).

Establecer el nivel de registro para una Amazon GameLift ServersRealtime flota en funcionamiento (AWS CLI)

Siga las instrucciones que aparecen en Actualizar una configuración Amazon GameLift Servers de flota para actualizar su flota mediante el AWS CLI, con las siguientes características adicionales:

  • En el argumento del parámetro --runtime-configuration para update-runtime-configuration, proporcione el par clave-valor del nivel de registro (por ejemplo, loggingLevel:error) como valor para Parameters. Utilice un carácter no alfanumérico (excepto coma) para separar el nivel de registro de cualquier parámetro adicional. Vea el siguiente ejemplo:

--runtime-configuration "GameSessionActivationTimeoutSeconds=60, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=/local/game/myRealtimeLaunchScript.js, Parameters=loggingLevel:error +map Winter444, ConcurrentExecutions=10}]"