blob: bf341d42d144b4b44baa9fc2663e660ca060c92d [file] [log] [blame]
// Copyright 2020 The Monogon Project Authors.
//
// SPDX-License-Identifier: Apache-2.0
//
// 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 osbase.pkg.logtree.proto;
option go_package = "source.monogon.dev/osbase/logtree/proto";
import "google/protobuf/timestamp.proto";
// Severity level corresponding to //osbase/logtree.Severity.
enum LeveledLogSeverity {
INVALID = 0;
INFO = 1;
WARNING = 2;
ERROR = 3;
FATAL = 4;
}
// LogEntry corresponding to logtree.LogEntry in //osbase/logtree.
message LogEntry {
// A leveled log entry emitted from a compatible system, eg. Metorpolis code
// or a klog-parsed line.
message Leveled {
repeated string lines = 1;
google.protobuf.Timestamp timestamp = 2;
LeveledLogSeverity severity = 3;
// Source of the error, expressed as file:line.
string location = 4;
}
// Raw log entry, captured from an external system without parting. Might
// contain some timestamp/level/origin information embedded in data. Data
// contained within should be treated as unsanitized external data.
message Raw {
string data = 1;
// Original length of line, set if data was truncated.
int64 original_length = 2;
}
// Origin DN (Distinguished Name), a unique identifier which is provided by
// the supervisor system.
string dn = 1;
oneof kind {
Leveled leveled = 2;
Raw raw = 3;
}
}