import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { HttpRequest } from "../type/http_request"; import { LogSeverity } from "../type/log_severity"; import { Timestamp } from "../../protobuf/timestamp"; import { Struct } from "../../protobuf/struct"; import { Any } from "../../protobuf/any"; import { MonitoredResource } from "../../api/monitored_resource"; /** * An individual entry in a log. * * @generated from protobuf message google.logging.v2.LogEntry */ export interface 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 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. * * @generated from protobuf field: string log_name = 12; */ logName: string; /** * 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. * * @generated from protobuf field: google.api.MonitoredResource resource = 8; */ resource?: MonitoredResource; /** * @generated from protobuf oneof: payload */ payload: { oneofKind: "protoPayload"; /** * 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" * * @generated from protobuf field: google.protobuf.Any proto_payload = 2; */ protoPayload: Any; } | { oneofKind: "textPayload"; /** * The log entry payload, represented as a Unicode string (UTF-8). * * @generated from protobuf field: string text_payload = 3; */ textPayload: string; } | { oneofKind: "jsonPayload"; /** * The log entry payload, represented as a structure that is * expressed as a JSON object. * * @generated from protobuf field: google.protobuf.Struct json_payload = 6; */ jsonPayload: Struct; } | { oneofKind: undefined; }; /** * 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 must have timestamps that don't exceed the * [logs retention * period](https://cloud.google.com/logging/quotas#logs_retention_periods) in * the past, and that don't exceed 24 hours in the future. Log entries outside * those time boundaries aren't ingested by Logging. * * @generated from protobuf field: google.protobuf.Timestamp timestamp = 9; */ timestamp?: Timestamp; /** * Output only. The time the log entry was received by Logging. * * @generated from protobuf field: google.protobuf.Timestamp receive_timestamp = 24; */ receiveTimestamp?: Timestamp; /** * Optional. The severity of the log entry. The default value is `LogSeverity.DEFAULT`. * * @generated from protobuf field: google.logging.type.LogSeverity severity = 10; */ severity: LogSeverity; /** * 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 are * removed in a single query result. However, there are no guarantees of * de-duplication in the export of logs. * * If the `insert_id` is omitted when writing a log entry, the Logging API * assigns its own unique identifier in this field. * * In queries, the `insert_id` is also used to order log entries that have * the same `log_name` and `timestamp` values. * * @generated from protobuf field: string insert_id = 4; */ insertId: string; /** * Optional. Information about the HTTP request associated with this log entry, if * applicable. * * @generated from protobuf field: google.logging.type.HttpRequest http_request = 7; */ httpRequest?: HttpRequest; /** * Optional. A map of key, value pairs that provides additional information about the * log entry. The labels can be user-defined or system-defined. * * User-defined labels are arbitrary key, value pairs that you can use to * classify logs. * * System-defined labels are defined by GCP services for platform logs. * They have two components - a service namespace component and the * attribute name. For example: `compute.googleapis.com/resource_name`. * * Cloud Logging truncates label keys that exceed 512 B and label * values that exceed 64 KB upon their associated log entry being * written. The truncation is indicated by an ellipsis at the * end of the character string. * * @generated from protobuf field: map labels = 11; */ labels: { [key: string]: string; }; /** * Optional. Information about an operation associated with the log entry, if * applicable. * * @generated from protobuf field: google.logging.v2.LogEntryOperation operation = 15; */ operation?: LogEntryOperation; /** * 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` * * @generated from protobuf field: string trace = 22; */ trace: string; /** * 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 * `000000000000004a`. * * @generated from protobuf field: string span_id = 27; */ spanId: string; /** * 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. * * @generated from protobuf field: bool trace_sampled = 30; */ traceSampled: boolean; /** * Optional. Source code location information associated with the log entry, if any. * * @generated from protobuf field: google.logging.v2.LogEntrySourceLocation source_location = 23; */ sourceLocation?: LogEntrySourceLocation; /** * Optional. Information indicating this LogEntry is part of a sequence of multiple log * entries split from a single LogEntry. * * @generated from protobuf field: google.logging.v2.LogSplit split = 35; */ split?: LogSplit; } /** * Additional information about a potentially long-running operation with which * a log entry is associated. * * @generated from protobuf message google.logging.v2.LogEntryOperation */ export interface LogEntryOperation { /** * Optional. An arbitrary operation identifier. Log entries with the same * identifier are assumed to be part of the same operation. * * @generated from protobuf field: string id = 1; */ id: string; /** * 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"`. * * @generated from protobuf field: string producer = 2; */ producer: string; /** * Optional. Set this to True if this is the first log entry in the operation. * * @generated from protobuf field: bool first = 3; */ first: boolean; /** * Optional. Set this to True if this is the last log entry in the operation. * * @generated from protobuf field: bool last = 4; */ last: boolean; } /** * Additional information about the source code location that produced the log * entry. * * @generated from protobuf message google.logging.v2.LogEntrySourceLocation */ export interface LogEntrySourceLocation { /** * Optional. Source file name. Depending on the runtime environment, this * might be a simple name or a fully-qualified name. * * @generated from protobuf field: string file = 1; */ file: string; /** * Optional. Line within the source file. 1-based; 0 indicates no line number * available. * * @generated from protobuf field: int64 line = 2; */ line: bigint; /** * 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). * * @generated from protobuf field: string function = 3; */ function: string; } /** * Additional information used to correlate multiple log entries. Used when a * single LogEntry would exceed the Google Cloud Logging size limit and is * split across multiple log entries. * * @generated from protobuf message google.logging.v2.LogSplit */ export interface LogSplit { /** * A globally unique identifier for all log entries in a sequence of split log * entries. All log entries with the same |LogSplit.uid| are assumed to be * part of the same sequence of split log entries. * * @generated from protobuf field: string uid = 1; */ uid: string; /** * The index of this LogEntry in the sequence of split log entries. Log * entries are given |index| values 0, 1, ..., n-1 for a sequence of n log * entries. * * @generated from protobuf field: int32 index = 2; */ index: number; /** * The total number of log entries that the original LogEntry was split into. * * @generated from protobuf field: int32 total_splits = 3; */ totalSplits: number; } declare class LogEntry$Type extends MessageType { constructor(); create(value?: PartialMessage): LogEntry; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogEntry): LogEntry; private binaryReadMap11; internalBinaryWrite(message: LogEntry, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.logging.v2.LogEntry */ export declare const LogEntry: LogEntry$Type; declare class LogEntryOperation$Type extends MessageType { constructor(); create(value?: PartialMessage): LogEntryOperation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogEntryOperation): LogEntryOperation; internalBinaryWrite(message: LogEntryOperation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.logging.v2.LogEntryOperation */ export declare const LogEntryOperation: LogEntryOperation$Type; declare class LogEntrySourceLocation$Type extends MessageType { constructor(); create(value?: PartialMessage): LogEntrySourceLocation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogEntrySourceLocation): LogEntrySourceLocation; internalBinaryWrite(message: LogEntrySourceLocation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.logging.v2.LogEntrySourceLocation */ export declare const LogEntrySourceLocation: LogEntrySourceLocation$Type; declare class LogSplit$Type extends MessageType { constructor(); create(value?: PartialMessage): LogSplit; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogSplit): LogSplit; internalBinaryWrite(message: LogSplit, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.logging.v2.LogSplit */ export declare const LogSplit: LogSplit$Type; export {};