Merge pull request #1 from the-eater/feature/aarch64
Support aarch64/arm64 by using dup3 instead of dup2
This commit is contained in:
@@ -5,7 +5,6 @@ import (
|
||||
"log"
|
||||
"log/syslog"
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
type Logger struct {
|
||||
@@ -13,7 +12,7 @@ type Logger struct {
|
||||
}
|
||||
|
||||
var (
|
||||
Log *Logger
|
||||
Log *Logger
|
||||
path string
|
||||
)
|
||||
|
||||
@@ -23,7 +22,7 @@ func Open(name, logLevelStr string, prio syslog.Priority) *Logger {
|
||||
log.Fatal("Invalid log level specified")
|
||||
}
|
||||
|
||||
Log = &Logger { logging.MustGetLogger(name) }
|
||||
Log = &Logger{logging.MustGetLogger(name)}
|
||||
|
||||
var formatStdout = logging.MustStringFormatter(
|
||||
"%{color}%{time:2006-01-02T15:04:05.000} %{shortfunc} ▶ %{level:.4s} %{color:reset} %{message}",
|
||||
@@ -64,6 +63,6 @@ func LogRedirectStdOutToFile(logPath string) {
|
||||
if err != nil {
|
||||
Log.Fatal(err)
|
||||
}
|
||||
syscall.Dup2(int(logFile.Fd()), 1)
|
||||
syscall.Dup2(int(logFile.Fd()), 2)
|
||||
|
||||
stdFdToLogFile(int(logFile.Fd()))
|
||||
}
|
||||
|
||||
10
log/log_redirect.go
Normal file
10
log/log_redirect.go
Normal file
@@ -0,0 +1,10 @@
|
||||
// +build !arm64
|
||||
|
||||
package log
|
||||
|
||||
import "syscall"
|
||||
|
||||
func stdFdToLogFile(logFileFd int) {
|
||||
syscall.Dup2(logFileFd, 1)
|
||||
syscall.Dup2(logFileFd, 2)
|
||||
}
|
||||
8
log/log_redirect_arm64.go
Normal file
8
log/log_redirect_arm64.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package log
|
||||
|
||||
import "syscall"
|
||||
|
||||
func stdFdToLogFile(logFileFd int) {
|
||||
syscall.Dup3(logFileFd, 1, 0)
|
||||
syscall.Dup3(logFileFd, 2, 0)
|
||||
}
|
||||
Reference in New Issue
Block a user