Cloud Logging으로 실행 로그 전송

Workflows는 Cloud Logging에 워크플로 실행에 대한 실행 로그를 자동으로 생성합니다.

호출 로깅을 사용 설정할 수도 있습니다. 또는 소스에서 sys.log 함수를 사용하는 커스텀 로그를 만들 수 있습니다. 호출 로깅과 커스텀 로그를 사용하면 워크플로 실행 중에 로그가 Logging으로 전송되는 시기를 제어할 수 있습니다. 이는 특히 워크플로를 디버깅할 때 유용합니다.

engine_callexecutions_system 로깅 proto 파일을 포함한 자세한 내용은 이 GitHub 저장소를 참조하세요.

실행 로그

각 워크플로 실행마다 실행이 시작될 때와 끝날 때 각각 하나씩 최소 2개의 실행 로그가 자동으로 트리거됩니다.

Logging에서 제공되는 Workflows 플랫폼 로그에 대한 자세한 내용은 Google Cloud Platform 로그를 참조하세요.

호출 로깅

워크플로 실행 중 각 호출 단계가 로깅되고 단계 이름, 함수 이름, 함수 인수, 호출 응답이 반환되도록 플래그를 설정할 수 있습니다. 또는 포착된 예외나 호출을 중지하는 예외를 모두 로깅할 수 있습니다.

명시적인 호출 단계만 로깅됩니다. 예를 들어, 하위 워크플로 또는 라이브러리 함수 호출 등이 있습니다. 표현식 내에서 또는 표준 라이브러리 함수 내에서의 호출(예: sys.log에서 http.post)과 커넥터 내에서의 호출은 로깅되지 않습니다.

HTTP Authorization 요청 헤더는 HTTP 호출의 로그에서 수정됩니다.

워크플로 정의 또는 워크플로 실행에 호출 로깅을 적용할 경우 필요한 로깅 수준을 지정할 수 있습니다. 실행 로그 수준이 지정되지 않은(기본값) 한 실행 로그 수준이 워크플로 로그 수준보다 우선합니다. 이 경우 워크플로 로그 수준이 적용됩니다.

Cloud Logging에서 설정한 로그 항목 크기 한도는 호출 로깅에도 적용됩니다.

커스텀 로그

워크플로를 실행하는 동안 Logging에 로그 항목을 만들려면 표준 라이브러리 sys.log 함수를 호출하는 워크플로에서 단계를 정의합니다.

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}"
        }
      }
    ]
      

로그 항목을 만들 때 다음을 정의합니다.

  • TEXT: 필수 항목입니다. 로깅할 텍스트입니다. 지도의 값을 로깅해야 하면 ${json.encode_to_string(myMap)}을 사용합니다.
  • SEVERITY: 선택사항입니다. 로그 항목의 심각도 수준입니다. 예를 들면 INFO, WARNING, CRITICAL입니다.

자세한 내용은 sys.log 함수 참조를 확인하세요.

필수 권한

호출 로깅을 적용하거나 Logging에 커스텀 로그를 전송하려면 logging.logEntries.create 권한이 포함된 서비스 계정(예: roles/logging.logWriter 역할)에 워크플로를 연결해야 합니다. 워크플로로 업데이트된 서비스 계정을 변경해야 하면 워크플로 업데이트를 참조하세요. 서비스 계정 만들기 및 역할 할당에 대한 자세한 내용은 프로젝트, 폴더, 조직 액세스 관리를 참조하세요.

워크플로 로그 보기

Workflows 또는 Logging에서 로그를 볼 수 있습니다. 단일 워크플로의 로그를 보려면 Workflows에서 로그 탭을 사용합니다. 모든 워크플로의 로그에 대한 집계 뷰를 가져오려면 Logging에서 로그 탐색기 페이지를 사용합니다.

Workflows에서 로그 보기

Workflows에서 워크플로의 로그를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Workflows 페이지로 이동합니다.

    Workflows로 이동

  2. 워크플로 로그에 액세스하려면 워크플로 이름을 클릭하여 세부정보 페이지로 이동합니다.

  3. 로그를 보려면 로그를 클릭합니다.

  4. 심각도별로 로그를 필터링하려면 기본값 목록에서 표시할 로그 유형을 선택합니다. 기본적으로 모든 심각도 수준의 로그가 표시됩니다.

워크플로 세부정보 페이지의 로그 탭에는 다음 유형의 로그가 표시됩니다.

  • Logging으로 전송되는 로그

  • 워크플로 정의 업데이트와 같이 워크플로에서 수행되는 모든 작업의 감사 로그

Logging에서 로그 보기

Logging에서 로그를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. 쿼리 빌더에서 리소스를 클릭하고 workflow를 입력합니다. 목록에서 Cloud Workflow를 선택하고 추가를 클릭합니다.

    워크플로 로깅

  3. 쿼리 실행을 클릭합니다.

Logging에서 로그 보기에 대해 자세히 알아보려면 로그 탐색기 사용을 참조하세요.

다음 단계