[Yandex Cloud documentation](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Step-by-step guides](../../index.md) > Workflows > Managing a workflow > Managing logs > Writing logs

# Writing to the workflow execution log

{% note info %}

Logging is not free of charge. For more information, see [Yandex Cloud Logging pricing](../../../../logging/pricing.md).

{% endnote %}

{% list tabs group=instructions %}

- Management console {#console}

  1. In the [management console](https://console.yandex.cloud), select the folder containing the [workflow](../../../concepts/workflows/workflow.md).
  1. Navigate to **Serverless Integrations**.
  1. In the left-hand panel, click ![image](../../../../_assets/console-icons/graph-node.svg) **Workflows**.
  1. Click ![image](../../../../_assets/console-icons/ellipsis.svg) in the workflow row and select ![image](../../../../_assets/console-icons/pencil.svg) **Edit**.
  1. Expand **Additional parameters** and find **Logging**.

      1. Enable **Write logs**.
      1. In the **Destination** field, select:

         * `Folder`: To write logs to the default log group of the folder containing the workflow.
         * `Log group`: To write logs to a custom log group.
           
           Select the log group to write logs to or [create](../../../../logging/operations/create-group.md) a new one.

      1. Optionally, select the minimum logging level.

  1. Click **Save**.

  If you set the minimum logging level, logs of that level and higher will be written to the execution log. With no minimum logging level set, all workflow logs will be written to the execution log.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  ### Logging destination {#destination}

  If a custom [log group](../../../../logging/concepts/log-group.md) is not specified in the workflow parameters or logging is not turned off, the workflow automatically writes all logs to the default log group of the [folder](../../../../resource-manager/concepts/resources-hierarchy.md#folder) it resides in.

  To write logs to a default log group for another folder, provide that folder's ID in the `--log-folder-id` parameter when [creating](create-yawl.md) or [updating](update.md) a workflow. The [account](../../../../iam/concepts/users/accounts.md) used to run the command must have the `logging.editor` [role](../../../../logging/security/index.md#logging-editor) or higher for that folder.

  To write logs to a custom log group, provide that log group's ID in the `--log-group-id` parameter when creating or updating a workflow. A log group may reside in a different folder. The account used to run the command must have the `logging.editor` role or higher for that folder.

  ### Minimum logging level {#log-level}

  To set the minimum logging level, provide it in the `--min-log-level` parameter when creating or updating the workflow.

  If you set the minimum logging level, logs of that level and higher will be written to the execution log. With no minimum logging level set, all workflow logs will be written to the execution log.

  ### Disabling logging {#disabled}

  To disable logging, set the `--no-logging` parameter when creating or updating the workflow.

  ### Command example {#example}

  To write logs to a custom log group, run this command:

  ```
  yc serverless workflow update <workflow_name_or_ID> \
    --yaml-spec <specification_file> \
    --log-group-id <log_group_ID> \
    --min-log-level <minimum_logging_level>
  ```

  Where:

  * `--yaml-spec`: Path to the [YaWL specification](../../../concepts/workflows/yawl/index.md) file for the workflow, e.g., `./yawl-spec.json`.
  * `--log-group-id`: ID of the log group to write logs to.
  * `--min-log-level`: Minimum logging level. This is an optional setting.

  Result:

  ```text
  id: dfqjl5hh5p90********
  folder_id: b1g681qpemb4********
  specification:
    spec_yaml: "yawl: ..."
  created_at: "2025-03-11T09:27:51.691990Z"
  name: my-workflow
  description: created via cli
  labels:
    owner: "admin"
    version: "alpha"
  status: ACTIVE
  log_options:
    log_group_id: e23u2vn449av********
    min_level: DEBUG
  service_account_id: aje4tpd9coa********
  network_id: enpm8v48ehcl********
  ```

- API {#api}

  To write to the workflow execution log, use the [Update](../../../workflows/api-ref/Workflow/update.md) REST API method for the [Workflows](../../../workflows/api-ref/Workflow/index.md) resource or the [workflow/Update](../../../workflows/api-ref/grpc/Workflow/update.md) gRPC API call.

{% endlist %}