Invia i log a Cloud Logging

Workflows genera automaticamente log di esecuzione per le esecuzioni dei flussi di lavoro in Cloud Logging.

Puoi anche attivare il logging delle chiamate. In alternativa, puoi creare log personalizzati che utilizzano la funzione sys.log nell'origine. Il logging delle chiamate e i log personalizzati consentono di controllare quando i log vengono inviati a Logging durante l'esecuzione di un flusso di lavoro e possono essere particolarmente utili durante il debug del flusso di lavoro.

Per maggiori dettagli, inclusi i proto file di logging engine_call e executions_system, consulta questo repository di GitHub.

Log di esecuzione

Ogni esecuzione di 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 disponibili in Logging, consulta Log della piattaforma Google Cloud.

Registrazione chiamate

Puoi impostare un flag in modo che ogni passaggio di chiamata venga registrato durante l'esecuzione del flusso di lavoro e che vengano restituiti nomi dei passaggi, nomi di funzioni, argomenti di funzione e risposte alle chiamate. In alternativa, puoi registrare eventuali eccezioni rilevate o che interrompono una chiamata.

Vengono registrati solo i passaggi di chiamata espliciti, ad esempio le chiamate ai flussi di lavoro secondari o alle funzioni di libreria. Le chiamate dall'interno delle espressioni o dalle funzioni di libreria standard (ad esempio http.post in sys.log) e dai connettori interni non vengono registrate.

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

Quando applichi il logging delle chiamate a una definizione del flusso di lavoro o all'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 del flusso di lavoro che effettui 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à della voce di log. Ad esempio, INFO, WARNING o CRITICAL.

Per ulteriori informazioni, consulta la documentazione di riferimento delle funzioni sys.log.

Autorizzazioni obbligatorie

Per applicare il logging delle chiamate o inviare log personalizzati a Logging, è necessario associare un flusso di lavoro a un account di servizio che includa l'autorizzazione logging.logEntries.create (ad esempio il ruolo roles/logging.logWriter). Se devi modificare l'account di servizio aggiornato in base al flusso di lavoro, consulta Aggiornare un flusso di lavoro. Per saperne 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 relativi a un singolo flusso di lavoro, utilizza la scheda Log in Workflows. Per ottenere una visualizzazione aggregata dei log di tutti i flussi di lavoro, utilizza la pagina Esplora log in Logging.

Visualizza i log in Workflows

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

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro:

    Vai a Workflows

  2. Per accedere ai log di un flusso di lavoro, fai clic sul nome del flusso di lavoro per andare alla relativa 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 con 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

  • Audit log relativi a qualsiasi operazione eseguita sul flusso di lavoro, ad esempio gli aggiornamenti alla definizione del flusso di lavoro

Visualizza 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 scoprire di più sulla visualizzazione dei log in Logging, consulta Utilizzare Esplora log.

Passaggi successivi