mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
Resolve relative logsDir to executable directory in FileRequestLogger
This commit is contained in:
@@ -103,6 +103,17 @@ type FileRequestLogger struct {
|
|||||||
// Returns:
|
// Returns:
|
||||||
// - *FileRequestLogger: A new file-based request logger instance
|
// - *FileRequestLogger: A new file-based request logger instance
|
||||||
func NewFileRequestLogger(enabled bool, logsDir string) *FileRequestLogger {
|
func NewFileRequestLogger(enabled bool, logsDir string) *FileRequestLogger {
|
||||||
|
// Resolve logsDir relative to the executable directory when it's not absolute.
|
||||||
|
if !filepath.IsAbs(logsDir) {
|
||||||
|
if exePath, err := os.Executable(); err == nil {
|
||||||
|
// Resolve symlinks to get the real executable path
|
||||||
|
if realExe, errEvalSymlinks := filepath.EvalSymlinks(exePath); errEvalSymlinks == nil {
|
||||||
|
exePath = realExe
|
||||||
|
}
|
||||||
|
execDir := filepath.Dir(exePath)
|
||||||
|
logsDir = filepath.Join(execDir, logsDir)
|
||||||
|
}
|
||||||
|
}
|
||||||
return &FileRequestLogger{
|
return &FileRequestLogger{
|
||||||
enabled: enabled,
|
enabled: enabled,
|
||||||
logsDir: logsDir,
|
logsDir: logsDir,
|
||||||
|
|||||||
Reference in New Issue
Block a user