mirror of
https://github.com/laoxong/nofx.git
synced 2026-06-04 09:58:22 +08:00
refactor: simplify log format
This commit is contained in:
@@ -1271,23 +1271,6 @@ func (s *Server) handleGetExchangeConfigs(c *gin.Context) {
|
||||
}
|
||||
logger.Infof("✅ Found %d exchange configs", len(exchanges))
|
||||
|
||||
// Debug: Output config details (masked)
|
||||
for _, ex := range exchanges {
|
||||
apiKeyMasked := ""
|
||||
if len(ex.APIKey) > 8 {
|
||||
apiKeyMasked = ex.APIKey[:8] + "..."
|
||||
}
|
||||
secretKeyMasked := ""
|
||||
if len(ex.SecretKey) > 8 {
|
||||
secretKeyMasked = ex.SecretKey[:8] + "..."
|
||||
}
|
||||
logger.Infof(" └─ Exchange: %s, APIKey: %s, SecretKey: %s", ex.ID, apiKeyMasked, secretKeyMasked)
|
||||
}
|
||||
|
||||
// Print complete JSON response for debugging
|
||||
jsonData, _ := json.Marshal(exchanges)
|
||||
logger.Infof("📤 Complete JSON response: %s", string(jsonData))
|
||||
|
||||
// Convert to safe response structure, remove sensitive information
|
||||
safeExchanges := make([]SafeExchangeConfig, len(exchanges))
|
||||
for i, exchange := range exchanges {
|
||||
@@ -1742,7 +1725,6 @@ func (s *Server) authMiddleware() gin.HandlerFunc {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// handleLogout Add current token to blacklist
|
||||
func (s *Server) handleLogout(c *gin.Context) {
|
||||
authHeader := c.GetHeader("Authorization")
|
||||
|
||||
+36
-15
@@ -1,7 +1,11 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
@@ -11,15 +15,40 @@ var (
|
||||
Log *logrus.Logger
|
||||
)
|
||||
|
||||
// compactFormatter is a custom formatter for cleaner log output
|
||||
type compactFormatter struct {
|
||||
logrus.TextFormatter
|
||||
}
|
||||
|
||||
func (f *compactFormatter) Format(entry *logrus.Entry) ([]byte, error) {
|
||||
level := strings.ToUpper(entry.Level.String())[0:4]
|
||||
|
||||
// Skip frames to find actual caller (skip logrus + our wrapper functions)
|
||||
caller := ""
|
||||
for i := 3; i < 10; i++ {
|
||||
_, file, line, ok := runtime.Caller(i)
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
// Skip logrus internal and our logger.go
|
||||
if !strings.Contains(file, "logrus") && !strings.HasSuffix(file, "logger/logger.go") {
|
||||
// Get package name from path (e.g., "nofx/manager/trader_manager.go" -> "manager")
|
||||
dir := filepath.Dir(file)
|
||||
pkg := filepath.Base(dir)
|
||||
caller = fmt.Sprintf("%s/%s:%d", pkg, filepath.Base(file), line)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
msg := fmt.Sprintf("[%s] %s %s\n", level, caller, entry.Message)
|
||||
return []byte(msg), nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
// Auto-initialize default logger to ensure it works before Init is called
|
||||
Log = logrus.New()
|
||||
Log.SetLevel(logrus.InfoLevel)
|
||||
Log.SetFormatter(&logrus.TextFormatter{
|
||||
FullTimestamp: true,
|
||||
TimestampFormat: "2006-01-02 15:04:05",
|
||||
ForceColors: true,
|
||||
})
|
||||
Log.SetFormatter(&compactFormatter{})
|
||||
Log.SetOutput(os.Stdout)
|
||||
}
|
||||
|
||||
@@ -47,17 +76,9 @@ func Init(cfg *Config) error {
|
||||
}
|
||||
Log.SetLevel(level)
|
||||
|
||||
// Set formatter (always use colored text format)
|
||||
Log.SetFormatter(&logrus.TextFormatter{
|
||||
FullTimestamp: true,
|
||||
TimestampFormat: "2006-01-02 15:04:05",
|
||||
ForceColors: true,
|
||||
})
|
||||
|
||||
// Set output target (default stdout)
|
||||
// Set compact formatter
|
||||
Log.SetFormatter(&compactFormatter{})
|
||||
Log.SetOutput(os.Stdout)
|
||||
|
||||
// Enable caller location info
|
||||
Log.SetReportCaller(true)
|
||||
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user