Get desktop application:
View/edit binary Protocol Buffers messages
Service for configuring sinks used to route log entries.
Lists sinks.
The parameters to `ListSinks`.
Required. The parent resource whose sinks are to be listed: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]"
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
Result returned from `ListSinks`.
A list of sinks.
If there might be more results than appear in this response, then `nextPageToken` is included. To get the next set of results, call the same method again using the value of `nextPageToken` as `pageToken`.
Gets a sink.
The parameters to `GetSink`.
Required. The resource name of the sink: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: `"projects/my-project-id/sinks/my-sink-id"`.
Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink.
The parameters to `CreateSink`.
Required. The resource in which to create the sink: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
Required. The new sink, whose `name` parameter is a sink identifier that is not already in use.
Optional. Determines the kind of IAM identity returned as `writer_identity` in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as `writer_identity` is the same group or service account used by Logging before the addition of writer identities to this API. The sink's destination must be in the same project as the sink itself. If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of `writer_identity` will be a unique service account used only for exports from the new sink. For more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink].
Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field.
The parameters to `UpdateSink`.
Required. The full resource name of the sink to update, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: `"projects/my-project-id/sinks/my-sink-id"`.
Required. The updated sink, whose name is the same identifier that appears as part of `sink_name`.
Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] for a description of this field. When updating a sink, the effect of this field on the value of `writer_identity` in the updated sink depends on both the old and new values of this field: + If the old and new values of this field are both false or both true, then there is no change to the sink's `writer_identity`. + If the old value is false and the new value is true, then `writer_identity` is changed to a unique service account. + It is an error if the old value is true and the new value is set to false or defaulted to false.
Optional. Field mask that specifies the fields in `sink` that need an update. A sink field will be overwritten if, and only if, it is in the update mask. `name` and output only fields cannot be updated. An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: destination,filter,includeChildren At some point in the future, behavior will be removed and specifying an empty updateMask will be an error. For a detailed `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask Example: `updateMask=filter`.
Deletes a sink. If the sink has a unique `writer_identity`, then that service account is also deleted.
The parameters to `DeleteSink`.
Required. The full resource name of the sink to delete, including the parent resource and the sink identifier: "projects/[PROJECT_ID]/sinks/[SINK_ID]" "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" "folders/[FOLDER_ID]/sinks/[SINK_ID]" Example: `"projects/my-project-id/sinks/my-sink-id"`.
Lists all the exclusions in a parent resource.
The parameters to `ListExclusions`.
Required. The parent resource whose exclusions are to be listed. "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]"
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
Result returned from `ListExclusions`.
A list of exclusions.
If there might be more results than appear in this response, then `nextPageToken` is included. To get the next set of results, call the same method again using the value of `nextPageToken` as `pageToken`.
Gets the description of an exclusion.
The parameters to `GetExclusion`.
Required. The resource name of an existing exclusion: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. You can have up to 10 exclusions in a resource.
The parameters to `CreateExclusion`.
Required. The parent resource in which to create the exclusion: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
Required. The new exclusion, whose `name` parameter is an exclusion name that is not already used in the parent resource.
Changes one or more properties of an existing exclusion.
The parameters to `UpdateExclusion`.
Required. The resource name of the exclusion to update: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
Required. New values for the existing exclusion. Only the fields specified in `update_mask` are relevant.
Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in `update_mask` are not changed and are ignored in the request. For example, to change the filter and description of an exclusion, specify an `update_mask` of `"filter,description"`.
Deletes an exclusion.
The parameters to `DeleteExclusion`.
Required. The resource name of an existing exclusion to delete: "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" Example: `"projects/my-project-id/exclusions/my-exclusion-id"`.
Service for ingesting and querying logs.
Deletes all the log entries in a log. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted.
The parameters to DeleteLog.
Required. The resource name of the log to delete: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" `[LOG_ID]` must be URL-encoded. For example, `"projects/my-project-id/logs/syslog"`, `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. For more information about log names, see [LogEntry][google.logging.v2.LogEntry].
Writes log entries to Logging. This API method is the only way to send log entries to Logging. This method is used, directly or indirectly, by the Logging agent (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders)
The parameters to WriteLogEntries.
Optional. A default log resource name that is assigned to all log entries in `entries` that do not specify a value for `log_name`: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" `[LOG_ID]` must be URL-encoded. For example: "projects/my-project-id/logs/syslog" "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" The permission <code>logging.logEntries.create</code> is needed on each project, organization, billing account, or folder that is receiving new log entries, whether the resource is specified in <code>logName</code> or in an individual log entry.
Optional. A default monitored resource object that is assigned to all log entries in `entries` that do not specify a value for `resource`. Example: { "type": "gce_instance", "labels": { "zone": "us-central1-a", "instance_id": "00000000000000000000" }} See [LogEntry][google.logging.v2.LogEntry].
Optional. Default labels that are added to the `labels` field of all log entries in `entries`. If a log entry already has a label with the same key as a label in this parameter, then the log entry's label is not changed. See [LogEntry][google.logging.v2.LogEntry].
Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's `log_name`, `resource`, and `labels` fields are copied into those log entries in this list that do not include values for their corresponding fields. For more information, see the [LogEntry][google.logging.v2.LogEntry] type. If the `timestamp` or `insert_id` fields are missing in log entries, then this method supplies the current time or a unique identifier, respectively. The supplied values are chosen so that, among the log entries that did not supply their own values, the entries earlier in the list will sort before the entries later in the list. See the `entries.list` method. Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling `entries.list`. However, those log entries can still be [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, you should try to include several log entries in this list, rather than calling this method for each individual log entry.
Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, then the response status is the error associated with one of the failed entries and the response includes error details keyed by the entries' zero-based index in the `entries.write` method.
Optional. If true, the request should expect normal response, but the entries won't be persisted nor exported. Useful for checking whether the logging API endpoints are working properly before sending valuable data.
Result returned from WriteLogEntries. empty
(message has no fields)
Lists log entries. Use this method to retrieve log entries that originated from a project/folder/organization/billing account. For ways to export log entries, see [Exporting Logs](/logging/docs/export).
The parameters to `ListLogEntries`.
Deprecated. Use `resource_names` instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: `"my-project-1A"`.
Required. Names of one or more parent resources from which to retrieve log entries: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" Projects listed in the `project_ids` field are added to this list.
Optional. A filter that chooses which log entries to return. See [Advanced Logs Filters](/logging/docs/view/advanced_filters). Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in `resource_names`. Referencing a parent resource that is not listed in `resource_names` will cause the filter to return no results. The maximum length of the filter is 20000 characters.
Optional. How the results should be sorted. Presently, the only permitted values are `"timestamp asc"` (default) and `"timestamp desc"`. The first option returns entries in order of increasing values of `LogEntry.timestamp` (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their `insert_id` values.
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `next_page_token` in the response indicates that more results might be available.
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.
Result returned from `ListLogEntries`.
A list of log entries. If `entries` is empty, `nextPageToken` may still be returned, indicating that more entries may exist. See `nextPageToken` for more information.
If there might be more results than those appearing in this response, then `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`. If a value for `next_page_token` appears and the `entries` field is empty, it means that the search found no log entries so far but it did not have time to search all the possible log entries. Retry the method with this value for `page_token` to continue the search. Alternatively, consider speeding up the search by changing your filter to specify a single log name or resource type, or to narrow the time range of the search.
Lists the descriptors for monitored resource types used by Logging.
The parameters to ListMonitoredResourceDescriptors
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
Result returned from ListMonitoredResourceDescriptors.
A list of resource descriptors.
If there might be more results than those appearing in this response, then `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`.
Lists the logs in projects, organizations, folders, or billing accounts. Only logs that have entries are listed.
The parameters to ListLogs.
Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]"
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
Result returned from ListLogs.
A list of log names. For example, `"projects/my-project/logs/syslog"` or `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
If there might be more results than those appearing in this response, then `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`.
Service for configuring logs-based metrics.
Lists logs-based metrics.
The parameters to ListLogMetrics.
Required. The name of the project containing the metrics: "projects/[PROJECT_ID]"
Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.
Result returned from ListLogMetrics.
A list of logs-based metrics.
If there might be more results than appear in this response, then `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`.
Gets a logs-based metric.
The parameters to GetLogMetric.
The resource name of the desired metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
Creates a logs-based metric.
The parameters to CreateLogMetric.
The resource name of the project in which to create the metric: "projects/[PROJECT_ID]" The new metric must be provided in the request.
The new logs-based metric, which must not have an identifier that already exists.
Creates or updates a logs-based metric.
The parameters to UpdateLogMetric.
The resource name of the metric to update: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" The updated metric must be provided in the request and it's `name` field must be the same as `[METRIC_ID]` If the metric does not exist in `[PROJECT_ID]`, then a new metric is created.
The updated metric.
Deletes a logs-based metric.
The parameters to DeleteLogMetric.
The resource name of the metric to delete: "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
Options that change functionality of a sink exporting data to BigQuery.
Used in:
Optional. Whether to use [BigQuery's partition tables](/bigquery/docs/partitioned-tables). By default, Logging creates dated tables based on the log entries' timestamps, e.g. syslog_20170523. With partitioned tables the date suffix is no longer present and [special query syntax](/bigquery/docs/querying-partitioned-tables) has to be used instead. In both cases, tables are sharded based on UTC timezone.
An individual entry in a log.
Used in:
,Required. The resource name of the log to which this log entry belongs: "projects/[PROJECT_ID]/logs/[LOG_ID]" "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" A project number may optionally be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the `log_name` field will contain PROJECT_ID in queries and exports. `[LOG_ID]` must be URL-encoded within `log_name`. Example: `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. `[LOG_ID]` must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period. For backward compatibility, if `log_name` begins with a forward-slash, such as `/projects/...`, then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
Required. The monitored resource that produced this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error.
Optional. The log entry payload, which can be one of multiple types.
The log entry payload, represented as a protocol buffer. Some Google Cloud Platform services use this field for their log entry payloads. The following protocol buffer types are supported; user-defined types are not supported: "type.googleapis.com/google.cloud.audit.AuditLog" "type.googleapis.com/google.appengine.logging.v1.RequestLog"
The log entry payload, represented as a Unicode string (UTF-8).
The log entry payload, represented as a structure that is expressed as a JSON object.
Optional. The time the event described by the log entry occurred. This time is used to compute the log entry's age and to enforce the logs retention period. If this field is omitted in a new log entry, then Logging assigns it the current time. Timestamps have nanosecond accuracy, but trailing zeros in the fractional seconds might be omitted when the timestamp is displayed. Incoming log entries should have timestamps that are no more than the [logs retention period](/logging/quotas) in the past, and no more than 24 hours in the future. Log entries outside those time boundaries will not be available when calling `entries.list`, but those log entries can still be [exported with LogSinks](/logging/docs/api/tasks/exporting-logs).
Output only. The time the log entry was received by Logging.
Optional. The severity of the log entry. The default value is `LogSeverity.DEFAULT`.
Optional. A unique identifier for the log entry. If you provide a value, then Logging considers other log entries in the same project, with the same `timestamp`, and with the same `insert_id` to be duplicates which can be removed. If omitted in new log entries, then Logging assigns its own unique identifier. The `insert_id` is also used to order log entries that have the same `timestamp` value.
Optional. Information about the HTTP request associated with this log entry, if applicable.
Optional. A set of user-defined (key, value) data that provides additional information about the log entry.
Deprecated. Output only. Additional metadata about the monitored resource. Only `k8s_container`, `k8s_pod`, and `k8s_node` MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the `metadata` field has been deprecated. The Kubernetes pod labels that used to be in `metadata.userLabels` will now be present in the `labels` field with a key prefix of `k8s-pod/`. The Stackdriver system labels that were present in the `metadata.systemLabels` field will no longer be available in the LogEntry.
Optional. Information about an operation associated with the log entry, if applicable.
Optional. Resource name of the trace associated with the log entry, if any. If it contains a relative resource name, the name is assumed to be relative to `//tracing.googleapis.com`. Example: `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
Optional. The span ID within the trace associated with the log entry. For Trace spans, this is the same format that the Trace API v2 uses: a 16-character hexadecimal encoding of an 8-byte array, such as <code>"000000000000004a"</code>.
Optional. The sampling decision of the trace associated with the log entry. True means that the trace resource name in the `trace` field was sampled for storage in a trace backend. False means that the trace was not sampled for storage when this log entry was written, or the sampling decision was unknown at the time. A non-sampled `trace` value is still useful as a request correlation identifier. The default is False.
Optional. Source code location information associated with the log entry, if any.
Additional information about a potentially long-running operation with which a log entry is associated.
Used in:
Optional. An arbitrary operation identifier. Log entries with the same identifier are assumed to be part of the same operation.
Optional. An arbitrary producer identifier. The combination of `id` and `producer` must be globally unique. Examples for `producer`: `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
Optional. Set this to True if this is the first log entry in the operation.
Optional. Set this to True if this is the last log entry in the operation.
Additional information about the source code location that produced the log entry.
Used in:
Optional. Source file name. Depending on the runtime environment, this might be a simple name or a fully-qualified name.
Optional. Line within the source file. 1-based; 0 indicates no line number available.
Optional. Human-readable name of the function or method being invoked, with optional context such as the class or package name. This information may be used in contexts such as the logs viewer, where a file and line number are less meaningful. The format can vary by language. For example: `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` (Python).
Specifies a set of log entries that are not to be stored in Logging. If your GCP resource receives a large volume of logs, you can use exclusions to reduce your chargeable logs. Exclusions are processed after log sinks, so you can export log entries before they are excluded. Note that organization-level and folder-level exclusions don't apply to child resources, and that you can't exclude audit log entries.
Used as response type in: ConfigServiceV2.CreateExclusion, ConfigServiceV2.GetExclusion, ConfigServiceV2.UpdateExclusion
Used as field type in:
, ,Required. A client-assigned identifier, such as `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and can include only letters, digits, underscores, hyphens, and periods.
Optional. A description of this exclusion.
Required. An [advanced logs filter](/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the [sample function](/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries. For example, the following query matches 99% of low-severity log entries from Google Cloud Storage buckets: `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"`
Optional. If set to True, then this exclusion is disabled and it does not exclude any log entries. You can [update an exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the value of this field.
Output only. The creation timestamp of the exclusion. This field may not be present for older exclusions.
Output only. The last update timestamp of the exclusion. This field may not be present for older exclusions.
Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval. Logs-based metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.
Used as response type in: MetricsServiceV2.CreateLogMetric, MetricsServiceV2.GetLogMetric, MetricsServiceV2.UpdateLogMetric
Used as field type in:
, ,Required. The client-assigned metric identifier. Examples: `"error_count"`, `"nginx/requests"`. Metric identifiers are limited to 100 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of name pieces, and it cannot be the first character of the name. The metric identifier in this field must not be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding). However, when the metric identifier appears as the `[METRIC_ID]` part of a `metric_name` API parameter, then the metric identifier must be URL-encoded. Example: `"projects/my-project/metrics/nginx%2Frequests"`.
Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
Required. An [advanced logs filter](/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters.
Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the `filter` expression. The `name`, `type`, and `description` fields in the `metric_descriptor` are output only, and is constructed using the `name` and `description` field in the LogMetric. To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a `value_extractor` expression in the LogMetric. Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the `label_extractors` map. The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot be updated once initially configured. New labels can be added in the `metric_descriptor`, but existing labels cannot be modified except for their description.
Optional. A `value_extractor` is required when using a distribution logs-based metric to extract the values to record from a log entry. Two functions are supported for value extraction: `EXTRACT(field)` or `REGEXP_EXTRACT(field, regex)`. The argument are: 1. field: The name of the log entry field from which the value is to be extracted. 2. regex: A regular expression using the Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to extract data from the specified log entry field. The value of the field is converted to a string before applying the regex. It is an error to specify a regex that does not include exactly one capture group. The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution. Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")`
Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the `value_extractor` field. The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its `false`. Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
Optional. The `bucket_options` are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values.
Output only. The creation timestamp of the metric. This field may not be present for older metrics.
Output only. The last update timestamp of the metric. This field may not be present for older metrics.
Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed.
Logging API version.
Used in:
Logging API v2.
Logging API v1.
Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a Cloud Pub/Sub topic. A logs filter controls which log entries are exported. The sink must be created within a project, organization, billing account, or folder.
Used as response type in: ConfigServiceV2.CreateSink, ConfigServiceV2.GetSink, ConfigServiceV2.UpdateSink
Used as field type in:
, ,Required. The client-assigned sink identifier, unique within the project. Example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods.
Required. The export destination: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The sink's `writer_identity`, set when the sink is created, must have permission to write to the destination or else the log entries are not exported. For more information, see [Exporting Logs with Sinks](/logging/docs/api/tasks/exporting-logs).
Optional. An [advanced logs filter](/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and that match the filter. For example: logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
Deprecated. The log entry format to use for this sink's exported log entries. The v2 format is used by default and cannot be changed.
Output only. An IAM identity—a service account or group—under which Logging writes the exported log entries to the sink's destination. This field is set by [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the value of `unique_writer_identity` in those methods. Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, see [Granting Access for a Resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity.
Optional. This field applies only to sinks owned by organizations and folders. If the field is false, the default, only the logs owned by the sink's parent resource are available for export. If the field is true, then logs from all the projects, folders, and billing accounts contained in the sink's parent resource are also available for export. Whether a particular log entry from the children is exported depends on the sink's filter expression. For example, if this field is true, then the filter `resource.type=gce_instance` would export all Compute Engine VM instance log entries from all projects in the sink's parent. To only export entries from certain child projects, filter on the project part of the log name: logName:("projects/test-project1/" OR "projects/test-project2/") AND resource.type=gce_instance
Optional. Destination dependent options.
Optional. Options that affect sinks exporting data to BigQuery.
Output only. The creation timestamp of the sink. This field may not be present for older sinks.
Output only. The last update timestamp of the sink. This field may not be present for older sinks.
Do not use. This field is ignored.
Do not use. This field is ignored.
Available log entry formats. Log entries can be written to Logging in either format and can be exported in either format. Version 2 is the preferred format.
Used in:
An unspecified format version that will default to V2.
`LogEntry` version 2 format.
`LogEntry` version 1 format.
Error details for WriteLogEntries with partial success.
When `WriteLogEntriesRequest.partial_success` is true, records the error status for entries that were not written due to a permanent error, keyed by the entry's zero-based index in `WriteLogEntriesRequest.entries`. Failed requests for which no entries are written will not include per-entry errors.