diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 4cfe34e2..5d30ddaa 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -80,7 +80,7 @@ jobs: env: CGO_ENABLED: 0 GOOS: windows - GOARCH: 386 + GOARCH: amd64 GO111MODULE: on - name: Build Win 64 diff --git a/windows_service/main/oecService.go b/windows_service/main/oecService.go index 01290847..a3494d8c 100644 --- a/windows_service/main/oecService.go +++ b/windows_service/main/oecService.go @@ -6,6 +6,7 @@ import ( "encoding/json" "fmt" "github.com/kardianos/service" + "gopkg.in/natefinch/lumberjack.v2" "log" "os" "os/exec" @@ -50,8 +51,13 @@ func (p *Program) run() { p.service.Stop() return } - defer stderr.Close() - p.cmd.Stderr = stderr + stderr.Close() + p.cmd.Stderr = &lumberjack.Logger{ + Filename: p.Stderr, + MaxSize: 10, // MB + MaxAge: 10, // Days + LocalTime: true, + } } if p.Stdout != "" { stdout, err := os.OpenFile(p.Stdout, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0777) @@ -60,8 +66,13 @@ func (p *Program) run() { p.service.Stop() return } - defer stdout.Close() - p.cmd.Stdout = stdout + stdout.Close() + p.cmd.Stdout = &lumberjack.Logger{ + Filename: p.Stdout, + MaxSize: 10, // MB + MaxAge: 10, // Days + LocalTime: true, + } } err := p.cmd.Run()