[Yandex Cloud documentation](../../../index.md) > [Yandex API Gateway](../../index.md) > [Concepts](../index.md) > [Trigger](index.md) > Trigger for Yandex Cloud Logging

# Trigger for Cloud Logging that sends messages to WebSocket connections

A [trigger](index.md) for Cloud Logging sends messages to [WebSocket connections](../extensions/websocket.md) when you add entries to a [log group](../../../logging/concepts/log-group.md).

A trigger for Cloud Logging requires a [service account](../../../iam/concepts/users/service-accounts.md) for reading from a log group and sending messages to WebSocket connections.

For more information about creating a trigger for Cloud Logging, see [Creating a trigger for Cloud Logging that sends messages to WebSocket connections](../../operations/trigger/cloud-logging-trigger-create.md).

## Message batching {#batching}

The batching settings allow sending several messages to WebSocket connections at a time. They set a top limit on a message batch size and its accumulation time. For example, if the message batch size is 3, WebSocket connections can receive batches containing from 1 to 3 messages.

## Roles required for the proper operation of a trigger for Cloud Logging {#roles}

* To create a trigger, you need a permission for the service account under which the trigger runs the operation. This permission comes with the [iam.serviceAccounts.user](../../../iam/concepts/access-control/roles.md#sa-user) and [editor](../../../iam/concepts/access-control/roles.md#editor) roles or higher.
* For the trigger to fire, the service account needs the following roles:
    * `api-gateway.websocketBroadcaster` for the folder containing the API gateway.
    * `logging.reader` for the log group that will fire the trigger when entries are added to it.

## Format of the message from the trigger for Cloud Logging {#format}

After the trigger fires, it will send the following message to WebSocket connections:

```json
{
   "messages":[
      {
         "event_metadata":{
            "event_id":"2c59a567-6666-4b65-a0b0-cc12********",
            "event_type":"yandex.cloud.events.serverless.triggers.LoggingMessageBatch",
            "created_at":{
               "seconds":1630607359,
               "nanos":6794776
            }
         },
         "details":{
            "messages":[
               {
                  "resource":{
                     "type":"serverless.function",
                     "id":"b09tm9raoev5********"
                  },
                  "timestamp":"2021-09-02 18:29:17.118082213 +0000 UTC",
                  "level":"INFO",
                  "message":"START RequestID: 085035c7-2319-40dd-bb03-fd8t******** Version: b09s5cq4b935********",
                  "json_payload":{
                     "request_id":"085035c7-2319-40dd-bb03-fdb2********",
                     "version_id":"b09s5cq4b935********"
                  }
               }
            ]
         }
      }
   ]
}
```

## Useful links {#see-also}

* [Trigger for Cloud Logging that runs a Serverless Containers container](../../../serverless-containers/concepts/trigger/cloud-logging-trigger.md)
* [Trigger for Cloud Logging that runs a Cloud Functions function](../../../functions/concepts/trigger/cloud-logging-trigger.md)