mirror of
https://github.com/fumiama/wintun.git
synced 2026-06-27 15:40:26 +08:00
feat: change log to logrus
This commit is contained in:
5
go.mod
5
go.mod
@@ -2,4 +2,7 @@ module golang.zx2c4.com/wintun
|
|||||||
|
|
||||||
go 1.17
|
go 1.17
|
||||||
|
|
||||||
require golang.org/x/sys v0.0.0-20211103235746-7861aae1554b
|
require (
|
||||||
|
github.com/sirupsen/logrus v1.8.1
|
||||||
|
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b
|
||||||
|
)
|
||||||
|
|||||||
9
go.sum
9
go.sum
@@ -1,2 +1,11 @@
|
|||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
|
||||||
|
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
|
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
||||||
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b h1:1VkfZQv42XQlA/jchYumAnv1UPo6RgF9rJFkTgZIxO4=
|
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b h1:1VkfZQv42XQlA/jchYumAnv1UPo6RgF9rJFkTgZIxO4=
|
||||||
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
|||||||
22
wintun.go
22
wintun.go
@@ -1,19 +1,20 @@
|
|||||||
|
//go:build windows
|
||||||
|
|
||||||
/* SPDX-License-Identifier: MIT
|
/* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017-2021 WireGuard LLC. All Rights Reserved.
|
* Copyright (C) 2017-2021 WireGuard LLC. All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//go:build windows
|
|
||||||
|
|
||||||
package wintun
|
package wintun
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
|
||||||
"runtime"
|
"runtime"
|
||||||
"syscall"
|
"syscall"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"golang.org/x/sys/windows"
|
"golang.org/x/sys/windows"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
type loggerLevel int
|
type loggerLevel int
|
||||||
@@ -44,11 +45,14 @@ type TimestampedWriter interface {
|
|||||||
WriteWithTimestamp(p []byte, ts int64) (n int, err error)
|
WriteWithTimestamp(p []byte, ts int64) (n int, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func logMessage(level loggerLevel, timestamp uint64, msg *uint16) int {
|
func logMessage(level loggerLevel, msg *uint16) int {
|
||||||
if tw, ok := log.Default().Writer().(TimestampedWriter); ok {
|
switch level {
|
||||||
tw.WriteWithTimestamp([]byte(log.Default().Prefix()+windows.UTF16PtrToString(msg)), (int64(timestamp)-116444736000000000)*100)
|
case logInfo:
|
||||||
} else {
|
|
||||||
log.Println(windows.UTF16PtrToString(msg))
|
log.Println(windows.UTF16PtrToString(msg))
|
||||||
|
case logWarn:
|
||||||
|
log.Warnln(windows.UTF16PtrToString(msg))
|
||||||
|
case logErr:
|
||||||
|
log.Errorln(windows.UTF16PtrToString(msg))
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@@ -57,11 +61,11 @@ func setupLogger(dll *lazyDLL) {
|
|||||||
var callback uintptr
|
var callback uintptr
|
||||||
if runtime.GOARCH == "386" {
|
if runtime.GOARCH == "386" {
|
||||||
callback = windows.NewCallback(func(level loggerLevel, timestampLow, timestampHigh uint32, msg *uint16) int {
|
callback = windows.NewCallback(func(level loggerLevel, timestampLow, timestampHigh uint32, msg *uint16) int {
|
||||||
return logMessage(level, uint64(timestampHigh)<<32|uint64(timestampLow), msg)
|
return logMessage(level, msg)
|
||||||
})
|
})
|
||||||
} else if runtime.GOARCH == "arm" {
|
} else if runtime.GOARCH == "arm" {
|
||||||
callback = windows.NewCallback(func(level loggerLevel, _, timestampLow, timestampHigh uint32, msg *uint16) int {
|
callback = windows.NewCallback(func(level loggerLevel, _, timestampLow, timestampHigh uint32, msg *uint16) int {
|
||||||
return logMessage(level, uint64(timestampHigh)<<32|uint64(timestampLow), msg)
|
return logMessage(level, msg)
|
||||||
})
|
})
|
||||||
} else if runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64" {
|
} else if runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64" {
|
||||||
callback = windows.NewCallback(logMessage)
|
callback = windows.NewCallback(logMessage)
|
||||||
|
|||||||
Reference in New Issue
Block a user