code.gitea.io/gitea@v1.22.3/modules/log/logger_global.go (about)

     1  // Copyright 2023 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package log
     5  
     6  import (
     7  	"fmt"
     8  	"os"
     9  )
    10  
    11  // FallbackErrorf is the last chance to show an error if the logger has internal errors
    12  func FallbackErrorf(format string, args ...any) {
    13  	_, _ = fmt.Fprintf(os.Stderr, format+"\n", args...)
    14  }
    15  
    16  func GetLevel() Level {
    17  	return GetLogger(DEFAULT).GetLevel()
    18  }
    19  
    20  func Log(skip int, level Level, format string, v ...any) {
    21  	GetLogger(DEFAULT).Log(skip+1, level, format, v...)
    22  }
    23  
    24  func Trace(format string, v ...any) {
    25  	Log(1, TRACE, format, v...)
    26  }
    27  
    28  func IsTrace() bool {
    29  	return GetLevel() <= TRACE
    30  }
    31  
    32  func Debug(format string, v ...any) {
    33  	Log(1, DEBUG, format, v...)
    34  }
    35  
    36  func IsDebug() bool {
    37  	return GetLevel() <= DEBUG
    38  }
    39  
    40  func Info(format string, v ...any) {
    41  	Log(1, INFO, format, v...)
    42  }
    43  
    44  func Warn(format string, v ...any) {
    45  	Log(1, WARN, format, v...)
    46  }
    47  
    48  func Error(format string, v ...any) {
    49  	Log(1, ERROR, format, v...)
    50  }
    51  
    52  func ErrorWithSkip(skip int, format string, v ...any) {
    53  	Log(skip+1, ERROR, format, v...)
    54  }
    55  
    56  func Critical(format string, v ...any) {
    57  	Log(1, ERROR, format, v...)
    58  }
    59  
    60  var OsExiter = os.Exit
    61  
    62  // Fatal records fatal log and exit process
    63  func Fatal(format string, v ...any) {
    64  	Log(1, FATAL, format, v...)
    65  	GetManager().Close()
    66  	OsExiter(1)
    67  }
    68  
    69  func GetLogger(name string) Logger {
    70  	return GetManager().GetLogger(name)
    71  }
    72  
    73  func IsLoggerEnabled(name string) bool {
    74  	return GetManager().GetLogger(name).IsEnabled()
    75  }
    76  
    77  func SetConsoleLogger(loggerName, writerName string, level Level) {
    78  	writer := NewEventWriterConsole(writerName, WriterMode{
    79  		Level:        level,
    80  		Flags:        FlagsFromBits(LstdFlags),
    81  		Colorize:     CanColorStdout,
    82  		WriterOption: WriterConsoleOption{},
    83  	})
    84  	GetManager().GetLogger(loggerName).ReplaceAllWriters(writer)
    85  }