Merge pull request #1 from the-eater/feature/aarch64

Support aarch64/arm64 by using dup3 instead of dup2
This commit is contained in:
Dolf Schimmel
2017-11-21 14:33:24 +01:00
committed by GitHub
3 changed files with 22 additions and 5 deletions

View File

@@ -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
View File

@@ -0,0 +1,10 @@
// +build !arm64
package log
import "syscall"
func stdFdToLogFile(logFileFd int) {
syscall.Dup2(logFileFd, 1)
syscall.Dup2(logFileFd, 2)
}

View File

@@ -0,0 +1,8 @@
package log
import "syscall"
func stdFdToLogFile(logFileFd int) {
syscall.Dup3(logFileFd, 1, 0)
syscall.Dup3(logFileFd, 2, 0)
}