package utils import ( "fmt" "io" "os" "path/filepath" "time" "github.com/sirupsen/logrus" ) var Logger = logrus.New() func InitLogger() { if err := os.MkdirAll("log", 0755); err != nil { panic(fmt.Sprintf("创建日志目录失败: %v", err)) } logFileName := filepath.Join("log", time.Now().Format("2006-01-02")+".log") logFile, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { panic(fmt.Sprintf("打开日志文件失败: %v", err)) } Logger.SetFormatter(&logrus.JSONFormatter{}) Logger.SetOutput(io.MultiWriter(os.Stdout, logFile)) } func LogAccess(ip, path, method string) { Logger.WithFields(logrus.Fields{ "ip": ip, "path": path, "method": method, "timestamp": time.Now().Format(time.RFC3339), }).Info("Page accessed") }