start custom logger

This commit is contained in:
2025-07-23 08:59:16 -07:00
parent 8b5be228fe
commit a1f46438d0
14 changed files with 253 additions and 196 deletions

View File

@@ -41,7 +41,7 @@ func runGameIntegrated(parentWindow fyne.Window, shellCmd string) error {
// Parse the shell command to extract components
// The shellCmd format is: cd <path> && <envVars> <rosettaExec> <wineloader> <wowExe>
log.Debug().Msgf("Parsing shell command: %s", shellCmd)
log.Debugf("Parsing shell command: %s", shellCmd)
// Create the command without context cancellation
cmd := exec.Command("sh", "-c", shellCmd)
@@ -71,7 +71,7 @@ func runGameIntegrated(parentWindow fyne.Window, shellCmd string) error {
scanner := bufio.NewScanner(stdout)
for scanner.Scan() {
line := scanner.Text()
log.Debug().Msgf("GAME STDOUT: %s", line)
log.Debugf("GAME STDOUT: %s", line)
}
}()
@@ -79,7 +79,7 @@ func runGameIntegrated(parentWindow fyne.Window, shellCmd string) error {
scanner := bufio.NewScanner(stderr)
for scanner.Scan() {
line := scanner.Text()
log.Debug().Msgf("GAME STDERR: %s", line)
log.Debugf("GAME STDERR: %s", line)
}
}()
@@ -93,9 +93,9 @@ func runGameIntegrated(parentWindow fyne.Window, shellCmd string) error {
}()
if err := cmd.Wait(); err != nil {
log.Debug().Msgf("Game process ended with error: %v", err)
log.Debugf("Game process ended with error: %v", err)
} else {
log.Debug().Msg("Game process ended successfully")
log.Debug("Game process ended successfully")
}
}()
@@ -103,7 +103,7 @@ func runGameIntegrated(parentWindow fyne.Window, shellCmd string) error {
}
func LaunchGame(myWindow fyne.Window) {
log.Debug().Msg("Launch Game button clicked")
log.Debug("Launch Game button clicked")
if paths.CrossoverPath == "" {
dialog.ShowError(fmt.Errorf("CrossOver path not set. Please set it in the patcher."), myWindow)
@@ -132,7 +132,7 @@ func LaunchGame(myWindow fyne.Window) {
}
gameMutex.Unlock()
log.Debug().Msg("Preparing to launch EpochSilicon...")
log.Debug("Preparing to launch EpochSilicon...")
wowExePath := filepath.Join(paths.EpochPath, "Project-Epoch.exe")
@@ -163,20 +163,20 @@ func continueLaunch(myWindow fyne.Window, wowExePath string) {
if AutoDeleteWdb {
wdbPath := filepath.Join(paths.EpochPath, "WDB")
if utils.DirExists(wdbPath) {
log.Debug().Msgf("Auto-deleting WDB directory: %s", wdbPath)
log.Debugf("Auto-deleting WDB directory: %s", wdbPath)
if err := os.RemoveAll(wdbPath); err != nil {
log.Debug().Msgf("Warning: failed to auto-delete WDB directory: %v", err)
log.Debugf("Warning: failed to auto-delete WDB directory: %v", err)
// Don't block the launch, just log the error
} else {
log.Debug().Msgf("Successfully auto-deleted WDB directory")
log.Debugf("Successfully auto-deleted WDB directory")
}
} else {
log.Debug().Msgf("WDB directory not found, nothing to delete")
log.Debugf("WDB directory not found, nothing to delete")
}
}
// Since RosettaX87 service is already running, we can directly launch WoW
log.Debug().Msg("RosettaX87 service is running. Proceeding to launch WoW.")
log.Debug("RosettaX87 service is running. Proceeding to launch WoW.")
if paths.CrossoverPath == "" || paths.EpochPath == "" {
dialog.ShowError(fmt.Errorf("CrossOver path or Epoch path is not set. Cannot launch WoW."), myWindow)
@@ -209,21 +209,21 @@ func continueLaunch(myWindow fyne.Window, wowExePath string) {
escapedShellCmd := utils.EscapeStringForAppleScript(shellCmd)
cmd2Script := fmt.Sprintf("tell application \"Terminal\" to do script \"%s\"", escapedShellCmd)
log.Debug().Msg("Executing WoW launch command via AppleScript...")
log.Debug("Executing WoW launch command via AppleScript...")
if !utils.RunOsascript(cmd2Script, myWindow) {
return
}
log.Debug().Msg("Launch command executed. Check the new terminal window.")
log.Debug("Launch command executed. Check the new terminal window.")
} else {
// Use integrated terminal
log.Debug().Msgf("Shell command for integrated terminal: %s", shellCmd)
log.Debug().Msg("Executing WoW launch command with integrated terminal...")
log.Debugf("Shell command for integrated terminal: %s", shellCmd)
log.Debug("Executing WoW launch command with integrated terminal...")
if err := runGameIntegrated(myWindow, shellCmd); err != nil {
dialog.ShowError(fmt.Errorf("failed to launch game: %v", err), myWindow)
return
}
log.Debug().Msg("Game launched with integrated terminal. Check the application logs for output.")
log.Debug("Game launched with integrated terminal. Check the application logs for output.")
}
}