blob: 0ca6e48bc920b7e83573df3808532b1f2870e4a3 [file] [log] [blame]
Serge Bazanski5ade7322020-08-27 13:27:51 +02001// Copyright 2020 The Monogon Project Authors.
2//
3// SPDX-License-Identifier: Apache-2.0
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
17package logtree
18
Serge Bazanskib0272182020-11-02 18:39:44 +010019import (
20 "fmt"
21
Serge Bazanski3c5d0632024-09-12 10:49:12 +000022 "source.monogon.dev/go/logging"
Tim Windelschmidt9f21f532024-05-07 15:14:20 +020023 lpb "source.monogon.dev/osbase/logtree/proto"
Serge Bazanskib0272182020-11-02 18:39:44 +010024)
25
Serge Bazanski3c5d0632024-09-12 10:49:12 +000026func SeverityFromProto(s lpb.LeveledLogSeverity) (logging.Severity, error) {
Serge Bazanskib0272182020-11-02 18:39:44 +010027 switch s {
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010028 case lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_INFO:
Serge Bazanski3c5d0632024-09-12 10:49:12 +000029 return logging.INFO, nil
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010030 case lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_WARNING:
Serge Bazanski3c5d0632024-09-12 10:49:12 +000031 return logging.WARNING, nil
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010032 case lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_ERROR:
Serge Bazanski3c5d0632024-09-12 10:49:12 +000033 return logging.ERROR, nil
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010034 case lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_FATAL:
Serge Bazanski3c5d0632024-09-12 10:49:12 +000035 return logging.FATAL, nil
Serge Bazanskib0272182020-11-02 18:39:44 +010036 default:
37 return "", fmt.Errorf("unknown severity value %d", s)
38 }
39}
40
Serge Bazanski3c5d0632024-09-12 10:49:12 +000041func SeverityToProto(s logging.Severity) lpb.LeveledLogSeverity {
Serge Bazanskib0272182020-11-02 18:39:44 +010042 switch s {
Serge Bazanski3c5d0632024-09-12 10:49:12 +000043 case logging.INFO:
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010044 return lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_INFO
Serge Bazanski3c5d0632024-09-12 10:49:12 +000045 case logging.WARNING:
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010046 return lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_WARNING
Serge Bazanski3c5d0632024-09-12 10:49:12 +000047 case logging.ERROR:
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010048 return lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_ERROR
Serge Bazanski3c5d0632024-09-12 10:49:12 +000049 case logging.FATAL:
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010050 return lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_FATAL
Serge Bazanskib0272182020-11-02 18:39:44 +010051 default:
Tim Windelschmidta10d0cb2025-01-13 14:44:15 +010052 return lpb.LeveledLogSeverity_LEVELED_LOG_SEVERITY_INVALID
Serge Bazanskib0272182020-11-02 18:39:44 +010053 }
54}