1
0
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:
fumiama
2021-12-29 23:20:16 +08:00
parent 415007cec2
commit 3c03bd620b
3 changed files with 26 additions and 10 deletions

5
go.mod
View File

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

@@ -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=

View File

@@ -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)