| // Copyright 2017 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package google.logging.v2; |
| |
| import "google/api/annotations.proto"; |
| import "google/api/monitored_resource.proto"; |
| import "google/logging/type/http_request.proto"; |
| import "google/logging/type/log_severity.proto"; |
| import "google/protobuf/any.proto"; |
| import "google/protobuf/struct.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| option cc_enable_arenas = true; |
| option csharp_namespace = "Google.Cloud.Logging.V2"; |
| option go_package = "google.golang.org/genproto/googleapis/logging/v2;logging"; |
| option java_multiple_files = true; |
| option java_outer_classname = "LogEntryProto"; |
| option java_package = "com.google.logging.v2"; |
| |
| |
| // An individual entry in a log. |
| message LogEntry { |
| // 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]" |
| // |
| // `[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. |
| string log_name = 12; |
| |
| // Required. The monitored resource associated with 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. |
| google.api.MonitoredResource resource = 8; |
| |
| // Optional. The log entry payload, which can be one of multiple types. |
| oneof payload { |
| // The log entry payload, represented as a protocol buffer. Some |
| // Google Cloud Platform services use this field for their log |
| // entry payloads. |
| google.protobuf.Any proto_payload = 2; |
| |
| // The log entry payload, represented as a Unicode string (UTF-8). |
| string text_payload = 3; |
| |
| // The log entry payload, represented as a structure that is |
| // expressed as a JSON object. |
| google.protobuf.Struct json_payload = 6; |
| } |
| |
| // Optional. The time the event described by the log entry occurred. If |
| // omitted in a new log entry, Stackdriver Logging will insert the time the |
| // log entry is received. Stackdriver Logging might reject log entries whose |
| // time stamps are more than a couple of hours in the future. Log entries |
| // with time stamps in the past are accepted. |
| google.protobuf.Timestamp timestamp = 9; |
| |
| // Optional. The severity of the log entry. The default value is |
| // `LogSeverity.DEFAULT`. |
| google.logging.type.LogSeverity severity = 10; |
| |
| // Optional. A unique identifier for the log entry. If you provide a value, |
| // then Stackdriver 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 Stackdriver |
| // Logging will insert its own unique identifier. The `insert_id` is used |
| // to order log entries that have the same `timestamp` value. |
| string insert_id = 4; |
| |
| // Optional. Information about the HTTP request associated with this |
| // log entry, if applicable. |
| google.logging.type.HttpRequest http_request = 7; |
| |
| // Optional. A set of user-defined (key, value) data that provides additional |
| // information about the log entry. |
| map<string, string> labels = 11; |
| |
| // Optional. Information about an operation associated with the log entry, if |
| // applicable. |
| LogEntryOperation operation = 15; |
| |
| // 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` |
| string trace = 22; |
| |
| // Optional. Source code location information associated with the log entry, |
| // if any. |
| LogEntrySourceLocation source_location = 23; |
| } |
| |
| // Additional information about a potentially long-running operation with which |
| // a log entry is associated. |
| message LogEntryOperation { |
| // Optional. An arbitrary operation identifier. Log entries with the |
| // same identifier are assumed to be part of the same operation. |
| string id = 1; |
| |
| // 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"`. |
| string producer = 2; |
| |
| // Optional. Set this to True if this is the first log entry in the operation. |
| bool first = 3; |
| |
| // Optional. Set this to True if this is the last log entry in the operation. |
| bool last = 4; |
| } |
| |
| // Additional information about the source code location that produced the log |
| // entry. |
| message LogEntrySourceLocation { |
| // Optional. Source file name. Depending on the runtime environment, this |
| // might be a simple name or a fully-qualified name. |
| string file = 1; |
| |
| // Optional. Line within the source file. 1-based; 0 indicates no line number |
| // available. |
| int64 line = 2; |
| |
| // 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). |
| string function = 3; |
| } |