Initial qiwei secondary development handoff

This commit is contained in:
2026-06-23 21:11:20 +08:00
commit 858cb68f4f
207 changed files with 52782 additions and 0 deletions

72
helper/log.go Normal file
View File

@@ -0,0 +1,72 @@
package main
import (
"fmt"
"log"
"os"
"path/filepath"
"strings"
"time"
"qiweimanager/logger"
)
// initLogger 初始化日志记录器
func initLogger() {
// 创建一个临时的控制台日志器作为备用
consoleLogger := log.New(os.Stderr, "[辅助程序] ", log.LstdFlags)
consoleLogger.Println("开始初始化日志系统...")
// 获取程序路径
exePath, err := os.Executable()
if err != nil {
consoleLogger.Printf("获取程序路径失败: %v使用默认路径", err)
exePath = "helper.exe"
}
exeDir := filepath.Dir(exePath)
consoleLogger.Printf("程序目录: %s", exeDir)
// 创建日志目录
logDir := filepath.Join(exeDir, "Log")
err = os.MkdirAll(logDir, 0755)
if err != nil {
consoleLogger.Printf("创建日志目录失败: %v使用系统临时目录", err)
logDir = os.TempDir()
}
consoleLogger.Printf("日志目录: %s", logDir)
// 初始化日志记录器,使用详细配置
var loggerErr error
// 正确传递程序名称而不是日志目录
appName := "helper"
// 确保appName不包含任何路径分隔符
safeAppName := strings.ReplaceAll(appName, "\\", "_")
safeAppName = strings.ReplaceAll(safeAppName, "/", "_")
// 设置日志级别为Error仅记录错误日志信息
globalLogger, loggerErr = logger.NewLogger(safeAppName, true, logger.LevelDebug)
if loggerErr != nil {
consoleLogger.Printf("初始化日志记录器失败: %v", loggerErr)
// 如果初始化失败,创建一个简单的文件日志器
logFileName := filepath.Join(logDir, fmt.Sprintf("helper_%d.log", time.Now().Unix()))
logFile, fileErr := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if fileErr != nil {
consoleLogger.Printf("创建备用日志文件失败: %v", fileErr)
} else {
consoleLogger.Printf("创建备用日志文件: %s", logFileName)
globalLogger = &logger.Logger{
Logger: log.New(logFile, "[辅助程序] ", log.LstdFlags),
LogLevel: logger.LevelDebug,
LogEnabled: true,
}
}
} else {
consoleLogger.Println("日志记录器初始化成功")
}
// 启动日志清理调度器每天清理超过30天的旧日志
/* if globalLogger != nil {
logDir := globalLogger.GetLogDir()
consoleLogger.Printf("启动日志清理调度器,日志目录: %s", logDir)
logger.StartLogCleanupScheduler(logDir, 30, 24*time.Hour)
} */
}