Questo documento spiega i problemi comuni che potresti riscontrare quando utilizzi il linguaggio di query di Logging.
Problemi di sintassi
Se hai problemi con le espressioni delle query, controlla quanto segue:
La query rispetta le regole di sintassi, con parentesi e virgolette corrispondenti.
I nomi dei campi voce di log sono scritti correttamente.
Le operazioni booleane sono in lettere maiuscole (
AND,OR,NOT).Assicurati di utilizzare
NULL_VALUEper rappresentare i valori null JSON.Le espressioni booleane come limitazioni globali o come lato destro dei confronti devono essere racchiuse tra parentesi per chiarezza. Ad esempio, le due query seguenti sembrano uguali, ma non lo sono:
insertId = "ABC-1" OR "ABC-2" -- ERROR!? insertId = ("ABC-1" OR "ABC-2")Il testo senza virgolette non deve contenere caratteri speciali. In caso di dubbi, aggiungi le doppie virgolette. Ad esempio, nel seguente codice, il primo confronto non è valido a causa dell'operatore di sottostringa incorporato (
:). Il confronto deve essere scritto tra virgolette:insertId = abc:def -- ILLEGAL! insertId = "abc:def"
Google Cloud CLI richiede che la query sia racchiusa tra virgolette doppie. Per utilizzare le virgolette doppie per l'escape dei caratteri speciali utilizzando il comando
gcloud logging, racchiudi l'intera query tra virgolette singole:gcloud logging read 'resource.type=gce_instance AND jsonPayload.message="Stopped Unattended Upgrades Shutdown."' gcloud logging read 'timestamp>="2020-06-17T21:00:00Z"'
Quando filtri in base a un campo associato al tipo di messaggio
Any, il campovalueviene attraversato automaticamente. Pertanto, non includerevaluenella query.Ad esempio, il campo
Statusin un messaggioAuditLogha un campodetailsdi tipogoogle.protobuf.Any. Per eseguire una query sul campodetails, ometti il campovaluequando specifichi il filtro:Azione
protoPayload.status.details.conditionNotMet.userVisibleMessage =~ "Specified reservation.*"
Cosa non fare
protoPayload.status.details.value.conditionNotMet.userVisibleMessage =~ "Specified reservation.*"