53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package common
|
||
|
||
import (
|
||
"fmt"
|
||
"github.com/gin-gonic/gin"
|
||
"io"
|
||
"log"
|
||
"os"
|
||
"path/filepath"
|
||
"time"
|
||
)
|
||
|
||
func SetupGinLog() {
|
||
if *LogDir != "" {
|
||
commonLogPath := filepath.Join(*LogDir, "common.log")
|
||
errorLogPath := filepath.Join(*LogDir, "error.log")
|
||
commonFd, err := os.OpenFile(commonLogPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||
if err != nil {
|
||
log.Fatal("failed to open log file")
|
||
}
|
||
errorFd, err := os.OpenFile(errorLogPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
|
||
if err != nil {
|
||
log.Fatal("failed to open log file")
|
||
}
|
||
gin.DefaultWriter = io.MultiWriter(os.Stdout, commonFd)
|
||
gin.DefaultErrorWriter = io.MultiWriter(os.Stderr, errorFd)
|
||
}
|
||
}
|
||
|
||
func SysLog(s string) {
|
||
t := time.Now()
|
||
_, _ = fmt.Fprintf(gin.DefaultWriter, "[SYS] %v | %s \n", t.Format("2006/01/02 - 15:04:05"), s)
|
||
}
|
||
|
||
func SysError(s string) {
|
||
t := time.Now()
|
||
_, _ = fmt.Fprintf(gin.DefaultErrorWriter, "[SYS] %v | %s \n", t.Format("2006/01/02 - 15:04:05"), s)
|
||
}
|
||
|
||
func FatalLog(v ...any) {
|
||
t := time.Now()
|
||
_, _ = fmt.Fprintf(gin.DefaultErrorWriter, "[FATAL] %v | %v \n", t.Format("2006/01/02 - 15:04:05"), v)
|
||
os.Exit(1)
|
||
}
|
||
|
||
func LogQuota(quota int) string {
|
||
if DisplayInCurrencyEnabled {
|
||
return fmt.Sprintf("$%.6f 额度", float64(quota)/QuotaPerUnit)
|
||
} else {
|
||
return fmt.Sprintf("%d 点额度", quota)
|
||
}
|
||
}
|