mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-10-28 20:33:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			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)
 | ||
| 	}
 | ||
| }
 |