/* * * Copyright 2015 gRPC authors. * * 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. * */ // Package grpclog defines logging for grpc. package grpclog // import "google.golang.org/grpc/grpclog" import ( "log" "os" ) // Use golang's standard logger by default. // Access is not mutex-protected: do not modify except in init() // functions. var logger Logger = log.New(os.Stderr, "", log.LstdFlags) // Logger mimics golang's standard Logger as an interface. type Logger interface { Fatal(args ...interface{}) Fatalf(format string, args ...interface{}) Fatalln(args ...interface{}) Print(args ...interface{}) Printf(format string, args ...interface{}) Println(args ...interface{}) } // SetLogger sets the logger that is used in grpc. Call only from // init() functions. func SetLogger(l Logger) { logger = l } // Fatal is equivalent to Print() followed by a call to os.Exit() with a non-zero exit code. func Fatal(args ...interface{}) { logger.Fatal(args...) } // Fatalf is equivalent to Printf() followed by a call to os.Exit() with a non-zero exit code. func Fatalf(format string, args ...interface{}) { logger.Fatalf(format, args...) } // Fatalln is equivalent to Println() followed by a call to os.Exit()) with a non-zero exit code. func Fatalln(args ...interface{}) { logger.Fatalln(args...) } // Print prints to the logger. Arguments are handled in the manner of fmt.Print. func Print(args ...interface{}) { logger.Print(args...) } // Printf prints to the logger. Arguments are handled in the manner of fmt.Printf. func Printf(format string, args ...interface{}) { logger.Printf(format, args...) } // Println prints to the logger. Arguments are handled in the manner of fmt.Println. func Println(args ...interface{}) { logger.Println(args...) }