VideoConcat/wails3-app/services/log.go
2026-01-06 19:35:21 +08:00

61 lines
1.1 KiB
Go

package services
import (
"fmt"
"log"
"os"
"path/filepath"
"time"
)
var logDir string
func init() {
// 设置日志目录
exePath, err := os.Executable()
if err != nil {
logDir = "./Log"
} else {
logDir = filepath.Join(filepath.Dir(exePath), "Log")
}
os.MkdirAll(logDir, 0755)
}
// LogInfo 记录信息日志
func LogInfo(message string) {
logMessage("INFO", message)
}
// LogError 记录错误日志
func LogError(message string) {
logMessage("ERROR", message)
}
// LogWarn 记录警告日志
func LogWarn(message string) {
logMessage("WARN", message)
}
// LogDebug 记录调试日志
func LogDebug(message string) {
logMessage("DEBUG", message)
}
// logMessage 写入日志消息
func logMessage(level, message string) {
// 控制台输出
log.Printf("[%s] %s", level, message)
// 文件输出
logFile := filepath.Join(logDir, fmt.Sprintf("log%s.log", time.Now().Format("20060102")))
file, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
return
}
defer file.Close()
timestamp := time.Now().Format("15:04:05")
file.WriteString(fmt.Sprintf("%s [%s] %s\n", timestamp, level, message))
}