blob: 81b0a9d0398b5b44e71101fafd679ebf7dcc2eb7 [file] [log] [blame]
Scott Bakereee8dd82019-09-24 12:52:34 -07001// Copyright 2018 The etcd Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package logutil
16
17import (
18 "log"
19
20 "google.golang.org/grpc/grpclog"
21)
22
23// assert that "discardLogger" satisfy "Logger" interface
24var _ Logger = &discardLogger{}
25
26// NewDiscardLogger returns a new Logger that discards everything except "fatal".
27func NewDiscardLogger() Logger { return &discardLogger{} }
28
29type discardLogger struct{}
30
31func (l *discardLogger) Info(args ...interface{}) {}
32func (l *discardLogger) Infoln(args ...interface{}) {}
33func (l *discardLogger) Infof(format string, args ...interface{}) {}
34func (l *discardLogger) Warning(args ...interface{}) {}
35func (l *discardLogger) Warningln(args ...interface{}) {}
36func (l *discardLogger) Warningf(format string, args ...interface{}) {}
37func (l *discardLogger) Error(args ...interface{}) {}
38func (l *discardLogger) Errorln(args ...interface{}) {}
39func (l *discardLogger) Errorf(format string, args ...interface{}) {}
40func (l *discardLogger) Fatal(args ...interface{}) { log.Fatal(args...) }
41func (l *discardLogger) Fatalln(args ...interface{}) { log.Fatalln(args...) }
42func (l *discardLogger) Fatalf(format string, args ...interface{}) { log.Fatalf(format, args...) }
43func (l *discardLogger) V(lvl int) bool {
44 return false
45}
46func (l *discardLogger) Lvl(lvl int) grpclog.LoggerV2 { return l }