grpclog.go

  1/*
  2 *
  3 * Copyright 2017 gRPC authors.
  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 *
 17 */
 18
 19// Package grpclog defines logging for grpc.
 20//
 21// In the default logger, severity level can be set by environment variable
 22// GRPC_GO_LOG_SEVERITY_LEVEL, verbosity level can be set by
 23// GRPC_GO_LOG_VERBOSITY_LEVEL.
 24package grpclog
 25
 26import (
 27	"os"
 28
 29	"google.golang.org/grpc/grpclog/internal"
 30)
 31
 32func init() {
 33	SetLoggerV2(newLoggerV2())
 34}
 35
 36// V reports whether verbosity level l is at least the requested verbose level.
 37func V(l int) bool {
 38	return internal.LoggerV2Impl.V(l)
 39}
 40
 41// Info logs to the INFO log.
 42func Info(args ...any) {
 43	internal.LoggerV2Impl.Info(args...)
 44}
 45
 46// Infof logs to the INFO log. Arguments are handled in the manner of fmt.Printf.
 47func Infof(format string, args ...any) {
 48	internal.LoggerV2Impl.Infof(format, args...)
 49}
 50
 51// Infoln logs to the INFO log. Arguments are handled in the manner of fmt.Println.
 52func Infoln(args ...any) {
 53	internal.LoggerV2Impl.Infoln(args...)
 54}
 55
 56// Warning logs to the WARNING log.
 57func Warning(args ...any) {
 58	internal.LoggerV2Impl.Warning(args...)
 59}
 60
 61// Warningf logs to the WARNING log. Arguments are handled in the manner of fmt.Printf.
 62func Warningf(format string, args ...any) {
 63	internal.LoggerV2Impl.Warningf(format, args...)
 64}
 65
 66// Warningln logs to the WARNING log. Arguments are handled in the manner of fmt.Println.
 67func Warningln(args ...any) {
 68	internal.LoggerV2Impl.Warningln(args...)
 69}
 70
 71// Error logs to the ERROR log.
 72func Error(args ...any) {
 73	internal.LoggerV2Impl.Error(args...)
 74}
 75
 76// Errorf logs to the ERROR log. Arguments are handled in the manner of fmt.Printf.
 77func Errorf(format string, args ...any) {
 78	internal.LoggerV2Impl.Errorf(format, args...)
 79}
 80
 81// Errorln logs to the ERROR log. Arguments are handled in the manner of fmt.Println.
 82func Errorln(args ...any) {
 83	internal.LoggerV2Impl.Errorln(args...)
 84}
 85
 86// Fatal logs to the FATAL log. Arguments are handled in the manner of fmt.Print.
 87// It calls os.Exit() with exit code 1.
 88func Fatal(args ...any) {
 89	internal.LoggerV2Impl.Fatal(args...)
 90	// Make sure fatal logs will exit.
 91	os.Exit(1)
 92}
 93
 94// Fatalf logs to the FATAL log. Arguments are handled in the manner of fmt.Printf.
 95// It calls os.Exit() with exit code 1.
 96func Fatalf(format string, args ...any) {
 97	internal.LoggerV2Impl.Fatalf(format, args...)
 98	// Make sure fatal logs will exit.
 99	os.Exit(1)
100}
101
102// Fatalln logs to the FATAL log. Arguments are handled in the manner of fmt.Println.
103// It calls os.Exit() with exit code 1.
104func Fatalln(args ...any) {
105	internal.LoggerV2Impl.Fatalln(args...)
106	// Make sure fatal logs will exit.
107	os.Exit(1)
108}
109
110// Print prints to the logger. Arguments are handled in the manner of fmt.Print.
111//
112// Deprecated: use Info.
113func Print(args ...any) {
114	internal.LoggerV2Impl.Info(args...)
115}
116
117// Printf prints to the logger. Arguments are handled in the manner of fmt.Printf.
118//
119// Deprecated: use Infof.
120func Printf(format string, args ...any) {
121	internal.LoggerV2Impl.Infof(format, args...)
122}
123
124// Println prints to the logger. Arguments are handled in the manner of fmt.Println.
125//
126// Deprecated: use Infoln.
127func Println(args ...any) {
128	internal.LoggerV2Impl.Infoln(args...)
129}
130
131// InfoDepth logs to the INFO log at the specified depth.
132//
133// # Experimental
134//
135// Notice: This API is EXPERIMENTAL and may be changed or removed in a
136// later release.
137func InfoDepth(depth int, args ...any) {
138	if internal.DepthLoggerV2Impl != nil {
139		internal.DepthLoggerV2Impl.InfoDepth(depth, args...)
140	} else {
141		internal.LoggerV2Impl.Infoln(args...)
142	}
143}
144
145// WarningDepth logs to the WARNING log at the specified depth.
146//
147// # Experimental
148//
149// Notice: This API is EXPERIMENTAL and may be changed or removed in a
150// later release.
151func WarningDepth(depth int, args ...any) {
152	if internal.DepthLoggerV2Impl != nil {
153		internal.DepthLoggerV2Impl.WarningDepth(depth, args...)
154	} else {
155		internal.LoggerV2Impl.Warningln(args...)
156	}
157}
158
159// ErrorDepth logs to the ERROR log at the specified depth.
160//
161// # Experimental
162//
163// Notice: This API is EXPERIMENTAL and may be changed or removed in a
164// later release.
165func ErrorDepth(depth int, args ...any) {
166	if internal.DepthLoggerV2Impl != nil {
167		internal.DepthLoggerV2Impl.ErrorDepth(depth, args...)
168	} else {
169		internal.LoggerV2Impl.Errorln(args...)
170	}
171}
172
173// FatalDepth logs to the FATAL log at the specified depth.
174//
175// # Experimental
176//
177// Notice: This API is EXPERIMENTAL and may be changed or removed in a
178// later release.
179func FatalDepth(depth int, args ...any) {
180	if internal.DepthLoggerV2Impl != nil {
181		internal.DepthLoggerV2Impl.FatalDepth(depth, args...)
182	} else {
183		internal.LoggerV2Impl.Fatalln(args...)
184	}
185	os.Exit(1)
186}