Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
5 contributors

Users who have contributed to this file

@googleapis-publisher @a-googler @geigerj @ethanbao @pongad
193 lines (164 sloc) 8.22 KB
// Copyright 2018 Google LLC.
//
// 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";
option php_namespace = "Google\\Cloud\\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]"
//
// 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.
string log_name = 12;
// Required. The primary 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.
// 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).
google.protobuf.Timestamp timestamp = 9;
// Output only. The time the log entry was received by Logging.
google.protobuf.Timestamp receive_timestamp = 24;
// 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 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.
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;
// Output only. Additional metadata about the monitored resource.
// Only `k8s_container`, `k8s_pod`, and `k8s_node` MonitoredResources have
// this field populated.
google.api.MonitoredResourceMetadata metadata = 25;
// 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. 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>.
string span_id = 27;
// 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.
bool trace_sampled = 30;
// 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;
}
You can’t perform that action at this time.