Invia log a Cloud Logging

Workflows genera automaticamente log di esecuzione per il flusso di lavoro eseguite in Cloud Logging.

Puoi anche attivare il logging delle chiamate. In alternativa, puoi creare log personalizzati che utilizzano la funzione sys.log nell'origine. La registrazione delle chiamate e i registri personalizzati consentono controlla l'invio dei log a Logging durante l'esecuzione di un flusso di lavoro e può essere particolarmente utile per il debug del flusso di lavoro.

Per maggiori dettagli, incluso il protocollo di logging engine_call e executions_system consulta questo repository GitHub.

Log di esecuzione

Ogni esecuzione del flusso di lavoro attiva automaticamente almeno due log di esecuzione: uno all'inizio di un'esecuzione e uno alla fine.

Per ulteriori informazioni sui log della piattaforma Workflows che sono disponibili in Logging. Consulta i log della piattaforma Google Cloud.

Registrazione chiamate

Puoi impostare un flag in modo che ogni passaggio di chiamata durante l'esecuzione del flusso di lavoro vengono registrati e i nomi dei passaggi, dei nomi delle funzioni gli argomenti delle funzioni e le risposte di chiamata. In alternativa, puoi registrare qualsiasi eccezioni che vengono rilevate o che interrompono la chiamata.

Vengono registrati solo i passaggi di chiamata espliciti, ad esempio le chiamate a flussi di lavoro secondari o a funzioni della libreria. Le chiamate all'interno di espressioni o di funzioni della libreria standard (ad esempio http.post in sys.log) e all'interno dei connettori non vengono registrate.

Le intestazioni delle richieste HTTP Authorization vengono oscurate dai log per le chiamate HTTP.

Quando applichi il logging delle chiamate a un definizione del flusso di lavoro o alla l'esecuzione di un flusso di lavoro, puoi specificare il livello di logging richiesto. Il livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro, a meno che non sia specificato il livello di log dell'esecuzione (valore predefinito). In questo caso, viene applicato il livello di log del flusso di lavoro.

Tieni presente che il limite di dimensione delle voci di log impostato da Cloud Logging si applica anche al logging delle chiamate.

Log personalizzati

Per creare una voce di log in Logging durante l'esecuzione di un flusso di lavoro, definisci un passaggio nel flusso di lavoro che esegue una chiamata alla funzione sys.log della libreria standard:

YAML

  - step1:
      assign:
          - varA: "Hello"
          - varB: "World"
  - logStep:
      call: sys.log
      args:
          text: TEXT
          severity: SEVERITY 
  - step2:
      return: ${varA + " " + varB}
    

JSON

    [
      {
        "step1": {
          "assign": [
            {
              "varA": "Hello"
            },
            {
              "varB": "World"
            }
          ]
        }
      },
      {
        "logStep": {
          "call": "sys.log",
          "args": {
            "text": "TEXT",
            "severity": "SEVERITY"
          }
        }
      },
      {
        "step2": {
          "return": "${varA + " " + varB}"
        }
      }
    ]
      

Quando crei una voce di log, definisci quanto segue:

  • TEXT: obbligatorio. Il testo da registrare. Se devi registrare i valori di una mappa, utilizza ${json.encode_to_string(myMap)}.
  • SEVERITY: facoltativo. Il livello di gravità del log . Ad esempio, INFO, WARNING o CRITICAL.

Per ulteriori informazioni, consulta il riferimento sulle funzioni sys.log.

Autorizzazioni obbligatorie

Per applicare il logging delle chiamate o inviare log personalizzati a Logging, viene richiesto devono essere associati a un account di servizio che include Autorizzazione logging.logEntries.create (ad esempio, roles/logging.logWriter ). Se devi modificare l'account di servizio aggiornato con il flusso di lavoro, consulta Aggiornare un flusso di lavoro. Per scoprire di più sulla creazione di account di servizio e sull'assegnazione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Visualizza log del flusso di lavoro

Puoi visualizzare i log in Workflows o in Logging. Per visualizzare i log per un singolo flusso di lavoro, utilizza la scheda Log in Workflows. Per ottenere una visualizzazione aggregata dei log per tutti i tuoi flussi di lavoro, utilizza la pagina Esplora log in Logging.

Visualizzare i log in Workflows

Per visualizzare i log di un flusso di lavoro in Workflows:

  1. Nella console Google Cloud, vai alla pagina Workflows:

    Vai a Flussi di lavoro

  2. Per accedere ai log di un flusso di lavoro, fai clic sul nome del flusso di lavoro per visualizzarne la pagina Dettagli.

  3. Per visualizzare i log, fai clic su Log.

  4. Per filtrare i log in base alla gravità, nell'elenco Predefinito, seleziona il tipo di log da visualizzare. Per impostazione predefinita, vengono mostrati i log di tutti i livelli di gravità.

La scheda Log nella pagina Dettagli di un flusso di lavoro mostra i seguenti tipi di log:

  • Log inviati a Logging

  • Log di controllo di qualsiasi operazione eseguita sul flusso di lavoro, come gli aggiornamenti definizione del flusso di lavoro

Visualizzare i log in Logging

Per visualizzare i log in Logging, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

  2. In Query Builder, fai clic su Risorsa e inserisci workflow. Seleziona Flusso di lavoro cloud dall'elenco e fai clic su Aggiungi.

    Logging del flusso di lavoro

  3. Fai clic su Esegui query.

Per saperne di più sulla visualizzazione dei log in Logging, consulta Utilizzare Esplora log.

Passaggi successivi