github.com/stackdocker/rkt@v0.10.1-0.20151109095037-1aa827478248/Godeps/_workspace/src/google.golang.org/grpc/grpclog/logger.go (about)

     1  /*
     2   *
     3   * Copyright 2015, Google Inc.
     4   * All rights reserved.
     5   *
     6   * Redistribution and use in source and binary forms, with or without
     7   * modification, are permitted provided that the following conditions are
     8   * met:
     9   *
    10   *     * Redistributions of source code must retain the above copyright
    11   * notice, this list of conditions and the following disclaimer.
    12   *     * Redistributions in binary form must reproduce the above
    13   * copyright notice, this list of conditions and the following disclaimer
    14   * in the documentation and/or other materials provided with the
    15   * distribution.
    16   *     * Neither the name of Google Inc. nor the names of its
    17   * contributors may be used to endorse or promote products derived from
    18   * this software without specific prior written permission.
    19   *
    20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    21   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    22   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    23   * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    24   * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    25   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    26   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    27   * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    28   * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    29   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    30   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31   *
    32   */
    33  
    34  /*
    35  Package grpclog defines logging for grpc.
    36  */
    37  package grpclog
    38  
    39  import (
    40  	"log"
    41  	"os"
    42  )
    43  
    44  // Use golang's standard logger by default.
    45  var logger Logger = log.New(os.Stderr, "", log.LstdFlags)
    46  
    47  // Logger mimics golang's standard Logger as an interface.
    48  type Logger interface {
    49  	Fatal(args ...interface{})
    50  	Fatalf(format string, args ...interface{})
    51  	Fatalln(args ...interface{})
    52  	Print(args ...interface{})
    53  	Printf(format string, args ...interface{})
    54  	Println(args ...interface{})
    55  }
    56  
    57  // SetLogger sets the logger that is used in grpc.
    58  func SetLogger(l Logger) {
    59  	logger = l
    60  }
    61  
    62  // Fatal is equivalent to Print() followed by a call to os.Exit() with a non-zero exit code.
    63  func Fatal(args ...interface{}) {
    64  	logger.Fatal(args...)
    65  }
    66  
    67  // Fatalf is equivalent to Printf() followed by a call to os.Exit() with a non-zero exit code.
    68  func Fatalf(format string, args ...interface{}) {
    69  	logger.Fatalf(format, args...)
    70  }
    71  
    72  // Fatalln is equivalent to Println() followed by a call to os.Exit()) with a non-zero exit code.
    73  func Fatalln(args ...interface{}) {
    74  	logger.Fatalln(args...)
    75  }
    76  
    77  // Print prints to the logger. Arguments are handled in the manner of fmt.Print.
    78  func Print(args ...interface{}) {
    79  	logger.Print(args...)
    80  }
    81  
    82  // Printf prints to the logger. Arguments are handled in the manner of fmt.Printf.
    83  func Printf(format string, args ...interface{}) {
    84  	logger.Printf(format, args...)
    85  }
    86  
    87  // Println prints to the logger. Arguments are handled in the manner of fmt.Println.
    88  func Println(args ...interface{}) {
    89  	logger.Println(args...)
    90  }