Ce face notifications/message și logLevel (Logging, depreciat)
Logging este depreciat din revizia 2026-07-28 (SEP-2577). Rămâne în specificație cel puțin 12 luni (eliminare posibilă începând cu prima revizie lansată la sau după 2027-07-28), dar implementările noi nu ar trebui să-l adopte. Migrarea recomandată: log pe stderr pentru transportul stdio și OpenTelemetry pentru observabilitate.
Metoda logging/setLevel a fost eliminată. Clientul cere loguri per cerere, punând io.modelcontextprotocol/logLevel în _meta. Serverul nu are voie să trimită notifications/message pentru o cerere fără acest câmp; când câmpul există, poate trimite mesaje de nivel egal sau mai mare pe stream-ul răspunsului la acea cerere, înaintea răspunsului final, niciodată pe un stream subscriptions/listen. Serverele care emit loguri declară capabilitatea logging.
Nivelurile urmează severitățile syslog din RFC 5424. Un nivel nerecunoscut duce la eroarea -32602. Mesajele de log nu trebuie să conțină credențiale, date personale sau detalii interne care ar ajuta un atac; serverele ar trebui să limiteze rata mesajelor.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
debug, info, notice, warning |
Detalii de depanare, informații generale, evenimente semnificative, avertismente. |
error, critical, alert, emergency |
Erori, defecte critice, acțiune imediată necesară, sistem inutilizabil. |
level |
Severitatea mesajului. |
logger |
Opțional: numele componentei care scrie logul. |
data |
Orice date serializabile JSON. |
Exemple practice
Exemplul 1: Mesaj de log trimis de server
{
"jsonrpc": "2.0",
"method": "notifications/message",
"params": {
"level": "error",
"logger": "database",
"data": {
"error": "Connection failed",
"details": {
"host": "localhost",
"port": 5432
}
}
}
}
Greșeli frecvente și bune practici
- Apelezi
logging/setLevel. Metoda nu mai există; nivelul se trimite în_metala fiecare cerere. - Scrii loguri pe
stdoutîntr-un server stdio. Pestdoutau voie doar mesaje MCP valide; foloseștestderr. - Pui tokenuri sau date personale în
data. Specificația interzice asta explicit.
Întrebări & Exemple practice:
notifications/message și logLevel (Logging, depreciat)Ai o întrebare despre notifications/message și logLevel (Logging, depreciat) sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.