# onDebugMessage (Servidor)

> Disparado no servidor para cada linha de script que vai para o log: erros, avisos e mensagens.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Servidor
- **Categoria**: Saída e depuração
- **Cancelável**: `cancelEvent`
- **URL**: https://wiki.mymp.gg/pt/onDebugMessage

## Sintaxe

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

## Parâmetros do handler

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `message` | `string` | O texto da linha. |
| `level` | `int` | `1` erro, `2` aviso, `3` mensagem (de `outputDebugString` com outro nível, `print` ou `outputServerLog`). |
| `file` | `string\|nil` | O arquivo de onde a linha veio, ou o nome do recurso. `nil` para mensagens. |
| `line` | `int\|nil` | A linha do arquivo. `nil` quando não se sabe. |

## Source

O elemento raiz (`root`).

Cancelar o evento impede a linha de ser escrita. O que um handler deste evento escreve não dispara o evento de novo.

## Exemplo

```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)
```

## Veja também

- [onClientDebugMessage (Cliente)](https://wiki.mymp.gg/pt/onClientDebugMessage.md): Disparado neste cliente para cada linha de script que vai para o log: erros, avisos e mensagens.
- [outputDebugString (Compartilhado)](https://wiki.mymp.gg/pt/outputDebugString.md): Escreve uma linha no log de scripts deste lado, como erro, aviso ou mensagem.
- [print (Compartilhado)](https://wiki.mymp.gg/pt/print.md): Escreve os valores dados no log de scripts como uma mensagem, separados por tabulação.
