# onDebugMessage (Servidor)

> Se dispara en el servidor por cada línea de script que va al log: errores, avisos y mensajes.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Servidor
- **Categoría**: Salida y depuración
- **Cancelable**: `cancelEvent`
- **URL**: https://wiki.mymp.gg/es/onDebugMessage

## Sintaxis

```lua
addEventHandler("onDebugMessage", root, function(string message, int level, string|nil file, int|nil line) ... end)
```

## Parámetros del handler

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `message` | `string` | El texto de la línea. |
| `level` | `int` | `1` error, `2` aviso, `3` mensaje (de `outputDebugString` con otro nivel, `print` u `outputServerLog`). |
| `file` | `string\|nil` | El archivo del que vino la línea, o el nombre del recurso. `nil` para los mensajes. |
| `line` | `int\|nil` | La línea del archivo. `nil` cuando no se sabe. |

## Source

El elemento raíz (`root`).

Cancelar el evento impide que la línea se escriba. Lo que escribe un handler de este evento no vuelve a dispararlo.

## Ejemplo

```lua
local errors = fileCreate("errors.log")

addEventHandler("onDebugMessage", root, function(message, level, file, line)
    if level == 1 then
        fileWrite(errors, ("%s:%s: %s\n"):format(file or "?", line or "?", message))
        fileFlush(errors)
    end
end)
```

## Ver también

- [onClientDebugMessage (Cliente)](https://wiki.mymp.gg/es/onClientDebugMessage.md): Se dispara en este cliente por cada línea de script que va al log: errores, avisos y mensajes.
- [outputDebugString (Compartido)](https://wiki.mymp.gg/es/outputDebugString.md): Escribe una línea en el log de scripts de este lado, como error, aviso o mensaje.
- [print (Compartido)](https://wiki.mymp.gg/es/print.md): Escribe los valores dados en el log de scripts como un mensaje, separados por tabulaciones.
