Function: sys.log

Writes one of data, text, or json to the log at specified severity.

The log is written using the Cloud Logging API, the workflows.googleapis.com/Workflow resource, and under the log name projects/${GOOGLE_CLOUD_PROJECT_ID}/logs/Workflows.

For more information, see Send logs to Cloud Logging.

Arguments

Arguments
data

integer|float|bool|string|list|dict

The log message. Maps are logged as a JSON payload and stored in the jsonPayload field of the log entry. Other accepted types are logged as a text payload and stored in the textPayload field of the log entry.

severity

string

One of: DEFAULT, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY (default: DEFAULT).

text

integer|float|bool|string|list|dict

The log message. Always logged as a text payload and stored in the textPayload field of the log entry.

json

dict

The map to be logged as a JSON payload and stored in the jsonPayload field of the log entry.

timeout

double

The timeout of the log call.

Raised exceptions

Exceptions
TypeError
  • If either data or text is specified with a type that is not one of integer, float, bool, string, list, or dict.
  • If json is specified with a type that is not dict.
  • If more than one of data, text, or json are specified.
  • If none of data, text, or json are specified.
TimeoutError If the specified timeout is exceeded.

Examples

Auto-detect payload

- assignStep:
    assign:
      - myVar: "Log my error message"
- argsMap:
    call: sys.log
    args:
      data: ${myVar}
      severity: "ERROR" # Optional
- argsList:
    call: sys.log
    args: [${myVar}, "ERROR"]

# Sample output:
# {
#   "textPayload": "Log my error message",
#   ...
#   "severity": "ERROR",
#   ...
# }

Text payload

- assignStep:
    assign:
      - myVar: "Log my error message"
- argsMap:
    call: sys.log
    args:
      text: ${myVar}
      severity: "ERROR" # Optional
- argsList:
    call: sys.log
    args: [${null}, "ERROR", ${myVar}]

# Sample output:
# {
#     "textPayload": "Log my error message",
#     ...
#     "severity": "ERROR",
#     ...
# }

JSON payload

- createMap:
    assign:
      - myMap: {"Message1": "Log my error message"}
- argsMap:
    call: sys.log
    args:
      json: ${myMap}
      severity: "ERROR" # Optional
- argsList:
    call: sys.log
    args: [${null}, "ERROR", ${null}, ${myMap}]

# Sample output:
# {
#     ...
#     "jsonPayload": {
#       "Message1": "Log my error message"
#     },
#     ...
#     "severity": "ERROR",
#     ...
# }