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:
57
pkg/serializer/common.go
Normal file
57
pkg/serializer/common.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package serializer
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
// Response 基础序列化器
|
||||
type Response struct {
|
||||
Code int `json:"code"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
Msg string `json:"msg"`
|
||||
Error string `json:"error,omitempty"`
|
||||
}
|
||||
|
||||
// 三位数错误编码为复用http原本含义
|
||||
// 五位数错误编码为应用自定义错误
|
||||
// 五开头的五位数错误编码为服务器端错误,比如数据库操作失败
|
||||
// 四开头的五位数错误编码为客户端错误,有时候是客户端代码写错了,有时候是用户操作错误
|
||||
const (
|
||||
// CodeCheckLogin 未登录
|
||||
CodeCheckLogin = 401
|
||||
// CodeNoRightErr 未授权访问
|
||||
CodeNoRightErr = 403
|
||||
// CodeDBError 数据库操作失败
|
||||
CodeDBError = 50001
|
||||
// CodeEncryptError 加密失败
|
||||
CodeEncryptError = 50002
|
||||
//CodeParamErr 各种奇奇怪怪的参数错误
|
||||
CodeParamErr = 40001
|
||||
)
|
||||
|
||||
// DBErr 数据库操作失败
|
||||
func DBErr(msg string, err error) Response {
|
||||
if msg == "" {
|
||||
msg = "数据库操作失败"
|
||||
}
|
||||
return Err(CodeDBError, msg, err)
|
||||
}
|
||||
|
||||
// ParamErr 各种参数错误
|
||||
func ParamErr(msg string, err error) Response {
|
||||
if msg == "" {
|
||||
msg = "参数错误"
|
||||
}
|
||||
return Err(CodeParamErr, msg, err)
|
||||
}
|
||||
|
||||
// Err 通用错误处理
|
||||
func Err(errCode int, msg string, err error) Response {
|
||||
res := Response{
|
||||
Code: errCode,
|
||||
Msg: msg,
|
||||
}
|
||||
// 生产环境隐藏底层报错
|
||||
if err != nil && gin.Mode() != gin.ReleaseMode {
|
||||
res.Error = err.Error()
|
||||
}
|
||||
return res
|
||||
}
|
||||
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