first commit
This commit is contained in:
commit
3553790475
27 files changed
+3839
No files matched your search
@@ -0,0 +1,40 @@
|
||||
// Command viewsagent 是桌面视觉问答助手。
|
||||
package main
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"viewsagent/internal/ui"
|
||||
)
|
||||
|
||||
func main() {
|
||||
slog.SetDefault(slog.New(slog.NewTextHandler(logWriter(), &slog.HandlerOptions{
|
||||
Level: slog.LevelInfo,
|
||||
})))
|
||||
|
||||
if err := ui.Run(); err != nil {
|
||||
slog.Error("启动失败", "err", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
// logWriter 同时输出到控制台和配置文件旁边的 app.log,
|
||||
// 打包成无控制台窗口后也能排查问题。
|
||||
func logWriter() io.Writer {
|
||||
dir, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
return os.Stderr
|
||||
}
|
||||
base := filepath.Join(dir, "viewsagent")
|
||||
if err := os.MkdirAll(base, 0o755); err != nil {
|
||||
return os.Stderr
|
||||
}
|
||||
f, err := os.OpenFile(filepath.Join(base, "app.log"), os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0o644)
|
||||
if err != nil {
|
||||
return os.Stderr
|
||||
}
|
||||
return io.MultiWriter(os.Stderr, f)
|
||||
}
|
||||
Reference in new issue
Block a user