mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-04 08:22:25 -06:00 
			
		
		
		
	
		
			
	
	
		
			127 lines
		
	
	
	
		
			4.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			127 lines
		
	
	
	
		
			4.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright 2020 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 (internal) defines depth logging for grpc.
							 | 
						||
| 
								 | 
							
								package grpclog
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"os"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Logger is the logger used for the non-depth log functions.
							 | 
						||
| 
								 | 
							
								var Logger LoggerV2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// DepthLogger is the logger used for the depth log functions.
							 | 
						||
| 
								 | 
							
								var DepthLogger DepthLoggerV2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// InfoDepth logs to the INFO log at the specified depth.
							 | 
						||
| 
								 | 
							
								func InfoDepth(depth int, args ...interface{}) {
							 | 
						||
| 
								 | 
							
									if DepthLogger != nil {
							 | 
						||
| 
								 | 
							
										DepthLogger.InfoDepth(depth, args...)
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										Logger.Infoln(args...)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// WarningDepth logs to the WARNING log at the specified depth.
							 | 
						||
| 
								 | 
							
								func WarningDepth(depth int, args ...interface{}) {
							 | 
						||
| 
								 | 
							
									if DepthLogger != nil {
							 | 
						||
| 
								 | 
							
										DepthLogger.WarningDepth(depth, args...)
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										Logger.Warningln(args...)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ErrorDepth logs to the ERROR log at the specified depth.
							 | 
						||
| 
								 | 
							
								func ErrorDepth(depth int, args ...interface{}) {
							 | 
						||
| 
								 | 
							
									if DepthLogger != nil {
							 | 
						||
| 
								 | 
							
										DepthLogger.ErrorDepth(depth, args...)
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										Logger.Errorln(args...)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// FatalDepth logs to the FATAL log at the specified depth.
							 | 
						||
| 
								 | 
							
								func FatalDepth(depth int, args ...interface{}) {
							 | 
						||
| 
								 | 
							
									if DepthLogger != nil {
							 | 
						||
| 
								 | 
							
										DepthLogger.FatalDepth(depth, args...)
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										Logger.Fatalln(args...)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									os.Exit(1)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// LoggerV2 does underlying logging work for grpclog.
							 | 
						||
| 
								 | 
							
								// This is a copy of the LoggerV2 defined in the external grpclog package. It
							 | 
						||
| 
								 | 
							
								// is defined here to avoid a circular dependency.
							 | 
						||
| 
								 | 
							
								type LoggerV2 interface {
							 | 
						||
| 
								 | 
							
									// Info logs to INFO log. Arguments are handled in the manner of fmt.Print.
							 | 
						||
| 
								 | 
							
									Info(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Infoln logs to INFO log. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									Infoln(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Infof logs to INFO log. Arguments are handled in the manner of fmt.Printf.
							 | 
						||
| 
								 | 
							
									Infof(format string, args ...interface{})
							 | 
						||
| 
								 | 
							
									// Warning logs to WARNING log. Arguments are handled in the manner of fmt.Print.
							 | 
						||
| 
								 | 
							
									Warning(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Warningln logs to WARNING log. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									Warningln(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Warningf logs to WARNING log. Arguments are handled in the manner of fmt.Printf.
							 | 
						||
| 
								 | 
							
									Warningf(format string, args ...interface{})
							 | 
						||
| 
								 | 
							
									// Error logs to ERROR log. Arguments are handled in the manner of fmt.Print.
							 | 
						||
| 
								 | 
							
									Error(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Errorln logs to ERROR log. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									Errorln(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Errorf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.
							 | 
						||
| 
								 | 
							
									Errorf(format string, args ...interface{})
							 | 
						||
| 
								 | 
							
									// Fatal logs to ERROR log. Arguments are handled in the manner of fmt.Print.
							 | 
						||
| 
								 | 
							
									// gRPC ensures that all Fatal logs will exit with os.Exit(1).
							 | 
						||
| 
								 | 
							
									// Implementations may also call os.Exit() with a non-zero exit code.
							 | 
						||
| 
								 | 
							
									Fatal(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Fatalln logs to ERROR log. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									// gRPC ensures that all Fatal logs will exit with os.Exit(1).
							 | 
						||
| 
								 | 
							
									// Implementations may also call os.Exit() with a non-zero exit code.
							 | 
						||
| 
								 | 
							
									Fatalln(args ...interface{})
							 | 
						||
| 
								 | 
							
									// Fatalf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.
							 | 
						||
| 
								 | 
							
									// gRPC ensures that all Fatal logs will exit with os.Exit(1).
							 | 
						||
| 
								 | 
							
									// Implementations may also call os.Exit() with a non-zero exit code.
							 | 
						||
| 
								 | 
							
									Fatalf(format string, args ...interface{})
							 | 
						||
| 
								 | 
							
									// V reports whether verbosity level l is at least the requested verbose level.
							 | 
						||
| 
								 | 
							
									V(l int) bool
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// DepthLoggerV2 logs at a specified call frame. If a LoggerV2 also implements
							 | 
						||
| 
								 | 
							
								// DepthLoggerV2, the below functions will be called with the appropriate stack
							 | 
						||
| 
								 | 
							
								// depth set for trivial functions the logger may ignore.
							 | 
						||
| 
								 | 
							
								// This is a copy of the DepthLoggerV2 defined in the external grpclog package.
							 | 
						||
| 
								 | 
							
								// It is defined here to avoid a circular dependency.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// # Experimental
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								// Notice: This type is EXPERIMENTAL and may be changed or removed in a
							 | 
						||
| 
								 | 
							
								// later release.
							 | 
						||
| 
								 | 
							
								type DepthLoggerV2 interface {
							 | 
						||
| 
								 | 
							
									// InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									InfoDepth(depth int, args ...interface{})
							 | 
						||
| 
								 | 
							
									// WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									WarningDepth(depth int, args ...interface{})
							 | 
						||
| 
								 | 
							
									// ErrorDepth logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									ErrorDepth(depth int, args ...interface{})
							 | 
						||
| 
								 | 
							
									// FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Println.
							 | 
						||
| 
								 | 
							
									FatalDepth(depth int, args ...interface{})
							 | 
						||
| 
								 | 
							
								}
							 |