mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 09:34:57 +08:00
Testing for controller/main.go
This commit is contained in:
106
pkg/util/logger.go
Normal file
106
pkg/util/logger.go
Normal file
@@ -0,0 +1,106 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
// LevelError 错误
|
||||
LevelError = iota
|
||||
// LevelWarning 警告
|
||||
LevelWarning
|
||||
// LevelInformational 提示
|
||||
LevelInformational
|
||||
// LevelDebug 除错
|
||||
LevelDebug
|
||||
)
|
||||
|
||||
var logger *Logger
|
||||
|
||||
// Logger 日志
|
||||
type Logger struct {
|
||||
level int
|
||||
}
|
||||
|
||||
// Println 打印
|
||||
func (ll *Logger) Println(msg string) {
|
||||
fmt.Printf("%s %s", time.Now().Format("2006-01-02 15:04:05 -0700"), msg)
|
||||
}
|
||||
|
||||
// Panic 极端错误
|
||||
func (ll *Logger) Panic(format string, v ...interface{}) {
|
||||
if LevelError > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[Panic] "+format, v...)
|
||||
ll.Println(msg)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
// Error 错误
|
||||
func (ll *Logger) Error(format string, v ...interface{}) {
|
||||
if LevelError > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[E] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
// Warning 警告
|
||||
func (ll *Logger) Warning(format string, v ...interface{}) {
|
||||
if LevelWarning > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[W] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
// Info 信息
|
||||
func (ll *Logger) Info(format string, v ...interface{}) {
|
||||
if LevelInformational > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[I] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
// Debug 校验
|
||||
func (ll *Logger) Debug(format string, v ...interface{}) {
|
||||
if LevelDebug > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[D] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
// BuildLogger 构建logger
|
||||
func BuildLogger(level string) {
|
||||
intLevel := LevelError
|
||||
switch level {
|
||||
case "error":
|
||||
intLevel = LevelError
|
||||
case "warning":
|
||||
intLevel = LevelWarning
|
||||
case "info":
|
||||
intLevel = LevelInformational
|
||||
case "debug":
|
||||
intLevel = LevelDebug
|
||||
}
|
||||
l := Logger{
|
||||
level: intLevel,
|
||||
}
|
||||
logger = &l
|
||||
}
|
||||
|
||||
// Log 返回日志对象
|
||||
func Log() *Logger {
|
||||
if logger == nil {
|
||||
l := Logger{
|
||||
level: LevelDebug,
|
||||
}
|
||||
logger = &l
|
||||
}
|
||||
return logger
|
||||
}
|
||||
Reference in New Issue
Block a user